This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Friday, February 9, 2018

MENU ITEM CALL FROM RESTRICTION PL/SQL


declare
  xx number(1) := 0;
 begin
   if USER IN ('PMS','SUPER') THEN
      xx :=1;
   elsif PMS.IS_PERMITTED_TO_FORM(USER,'BILL','ACNO_REB') = 1 THEN
    xx :=1;
   ELSIF PMS.IS_PERMITTED_TO_FORM(USER,'BILL','ACNO_REB') = 0 THEN
    xx :=0;
   ELSE
    xx :=0;
   end if;
   -- ===============
   if xx = 1 then
CALL_FORM('BILL\FORMS\ACNO_REB.fmx',NO_HIDE,NO_REPLACE);
   else
      message('You have no permission to run this form ');
      message('Ok');
   end if;
 end;

-------------------

declare
  xx number(1) := 0;
 begin
   if USER IN ('PMS','SUPER') THEN
      xx :=1;
   elsif PMS.IS_PERMITTED_TO_FORM(USER,'BILL','DISCONNECT') = 1 THEN
    xx :=1;
   ELSIF PMS.IS_PERMITTED_TO_FORM(USER,'BILL','DISCONNECT') = 0 THEN
    xx :=0;
   ELSE
    xx :=0;
   end if;
   -- ===============
   if xx = 1 then
CALL_FORM('BILL\FORMS\DISCONNECT.fmx',NO_HIDE,NO_REPLACE);
   else
      message('You have no permission to run this form ');
      message('Ok');
   end if;
 end;
-----------------------------

PACKAGE EnableDisableItem IS
  Procedure ReplaceDisableMenu( menuName VARCHAR2, menuItemName VARCHAR2);
  Procedure ReplaceEnableMenu( menuName VARCHAR2, menuItemName VARCHAR2);
END;


MENU ENABLE DISABLE

PACKAGE BODY EnableDisableItem IS

PROCEDURE ReplaceDisableMenu( menuName in VARCHAR2, menuItemName in VARCHAR2) is
    hMenuItem MENUITEM;
begin
    hMenuItem := FIND_MENU_ITEM(menuName||'.'||menuItemName);
    if not ID_NULL(hMenuItem) and GET_MENU_ITEM_PROPERTY(hMenuItem,VISIBLE) = 'TRUE' then
        SET_MENU_ITEM_PROPERTY(hMenuItem, ENABLED, PROPERTY_FALSE);
    end if;
end; 
 
PROCEDURE ReplaceEnableMenu( menuName in VARCHAR2, menuItemName in VARCHAR2) is
    hMenuItem MENUITEM;
begin
    hMenuItem := FIND_MENU_ITEM(menuName||'.'||menuItemName);
    if not ID_NULL(hMenuItem) and GET_MENU_ITEM_PROPERTY(hMenuItem,VISIBLE) = 'TRUE' then
        SET_MENU_ITEM_PROPERTY(hMenuItem, ENABLED, PROPERTY_TRUE);
    end if;
end; 
 

END; 

Sunday, February 4, 2018

procedure

Use procedure in oracle forms :

CREATE  PROCEDURE PRC_BED_WARD (p_ADMISSION_NO IN  IP_ADMISSION.ADMISSION_NO%TYPE,
  p_COMPANY_NO   IN  SC_SYSTEM_CONTROL.COMPANY_NO%TYPE,
     p_BED_NAME     OUT IP_BED.BED_NAME%TYPE,
      p_WARD_NAME    OUT IP_WARD.WARD_NAME%TYPE)

used in oracle forms :
just type procedure name in any block:

PRC_BED_WARD( v_addmission, :GLOBAL.G_COMPANY_NO, :CTRL_PATIENTINFO.BED_NAME, :CTRL_PATIENTINFO.WARD_NAME);
description :  here input two parameter and output two parameter ..


function

**
THIS FUNCTION WILL CHECK WEEKEND DAY<>

CREATE OR REPLACE FUNCTION FNC_ROOMWEEKFLAG (p_room_no varchar,p_day date )
return int
as
 v_s char(1);
 v_n char(1);
 v_m char(1);
 v_t char(1);
 v_w char(1);
 v_h char(1);
 v_f char(1);
begin

select SAT_DAY,SUN_DAY,MON_DAY,TUE_DAY,WED_DAY,TUS_DAY,FRI_DAY into v_s,v_n,v_m,v_t,v_w,v_h,v_f
from ot_weekend where  OT_NO=p_room_no;

if to_char(p_day,'DY')    ='SAT' and nvl(v_s,'N')='Y'  then
   
    return 1;
   
elsif to_char(p_day,'DY') ='SUN' and nvl(v_n,'N')='Y'  then

    return 1;
   
elsif to_char(p_day,'DY') ='MON' and nvl(v_m,'N')='Y'  then

    return 1;   
   
elsif to_char(p_day,'DY') ='TUE' and nvl(v_t,'N')='Y'  then

    return 1;
   
elsif to_char(p_day,'DY') ='WED' and nvl(v_w,'N')='Y'  then

    return 1;
   
elsif to_char(p_day,'DY') ='THU' and nvl(v_h,'N')='Y'  then

    return 1;
   
elsif to_char(p_day,'DY') ='FRI' and nvl(v_f,'N')='Y'  then

    return 1;
   
else
    return 0;
end if;

exception when others then
return 0;

end;
/

**


select CEIL(32.65) from dual;
select round(32.65) from dual;
output : 33

PARAMLIST & pass parameter value from one form to another form.

MAIN STRUCTURE TO CREATE PARAMETER:

Pass Parameter from One Form to another

You can easily pass parameters from one form to another form by using this code. we need to transfer values of parent form to child form for different purposes for example for Login name ect….
1- Make one parent form in oracle forms builder
2- Write this code behind the button of parent form that will transfer parameters to child form.
  • Child form Name and location :       D:\SUB_CAT_SIZES.FMX
  • Child form parameter name:             P_SUB_CAT_ID (Destination parameter)
  • Parent form parameter name:        :SUB_CAT_ID (Source parameter)

————————————————-
DECLARE
temp_id paramlist;
RPT_NAME VARCHAR2(30);
BEGIN
temp_id := CREATE_PARAMETER_LIST(‘V_A’);
ADD_PARAMETER(temp_id,’P_SUB_CAT_ID’,text_parameter,:SUB_CAT_ID);
CALL_FORM(‘D:\SUB_CAT_SIZES.FMX’,NO_HIDE,DO_REPLACE,NO_QUERY_ONLY,TEMP_ID);
destroy_parameter_list(temp_id);
END;
———————————————
3- when you will press button then parameter data will transfer into child form and also call child form.
* If you like this article then please leave comments on it……. 🙂
----------------------------


DECLARE
pl_id PARAMLIST;
pl_name VARCHAR2(10) := 'tempdata';
BEGIN
pl_id := Get_Parameter_List(pl_name);

IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List(pl_id);
END IF;

pl_id := Get_Parameter_List(pl_name);

IF Id_Null(pl_id) THEN
pl_id := Create_Parameter_List(pl_name);
END IF;
Add_Parameter(pl_id,'P_REGNO',TEXT_PARAMETER,:CTRL_PATIENTINFO.PID);
Add_Parameter(pl_id,'P_ADMISSIONNO',TEXT_PARAMETER,:CTRL_PATIENTINFO.AN);
Add_Parameter(pl_id,'P_ADMISSIONNO',TEXT_PARAMETER,'');
CALL_FORM(form_path||'FORM_NAME',hide,no_replace,no_query_only,pl_id);

EXCEPTION
WHEN OTHERS THEN
NULL;
END;


--$  -- Start :   Anothr example for calling form

DECLARE
   PL_ID     PARAMLIST;
   PL_NAME   VARCHAR2 (1500) := 'CSSD_VERIFY';
   V_WHERE   VARCHAR2 (1500);
BEGIN
   IF :CST_PRCCTL.ITEM_NO IS NOT NULL
   THEN
      V_WHERE :=
         'EXISTS (SELECT V_TRN_NO_L1 FROM CSV_WRKLST
                                                            WHERE V_RECEIVED IS NOT NULL
                                                            AND TRN_TYPE IN (''SR'',''SC'')
                                                            AND V_ITEM_NO ='''
         || :CST_PRCCTL.ITEM_NO
         || '''
                                                            AND NVL(V_VERIFY,0) < V_TOTAL_QTY
                                                            AND V_TRN_NO_L1 = CSV_TRNTRK.TRN_NO_L1)';
   ELSIF :CST_PRCCTL.GRP_NO IS NOT NULL
   THEN
      V_WHERE :=
         'EXISTS (SELECT V_TRN_NO_L1 FROM CSV_WRKLST
                                                            WHERE V_RECEIVED IS NOT NULL
                                                            AND TRN_TYPE IN (''SR'',''SC'')
                                                            AND V_GRP_NO ='''
         || :CST_PRCCTL.GRP_NO
         || '''
                                                            AND NVL(V_VERIFY,0) < V_TOTAL_QTY
                                                            AND V_TRN_NO_L1 = CSV_TRNTRK.TRN_NO_L1)';
   END IF;



   PL_ID := GET_PARAMETER_LIST (PL_NAME);

   IF ID_NULL (PL_ID)
   THEN
      PL_ID := CREATE_PARAMETER_LIST (PL_NAME);
      ADD_PARAMETER (PL_ID,
                     'CSSD_VERIFY',
                     TEXT_PARAMETER,
                     V_WHERE);

      IF ID_NULL (PL_ID)
      THEN
         MSGBOX ('Error creating parameter list. ');
         RETURN;
      END IF;
   ELSE
      DELETE_PARAMETER (PL_ID, 'CSSD_VERIFY');
      ADD_PARAMETER (PL_ID,
                     'CSSD_VERIFY',
                     TEXT_PARAMETER,
                     V_WHERE);
   END IF;


   CALL_FORM (form_path || 'CSF_M35',
              HIDE,
              DO_REPLACE,
              NO_QUERY_ONLY,
              PL_ID);
EXCEPTION
   WHEN OTHERS
   THEN
      NULL;
END;

--$  --  End
---another example for  parameter list


PROCEDURE PRC_CALFORM(fname varchar2) IS
pl_id PARAMLIST;
pl_name VARCHAR2(10) := 'tempdata';
vST NUMBER(1);
FRM_NAME VARCHAR2(50);
v_RUN_FORM  varchar2(1):= '1';
BEGIN
pl_id := Get_Parameter_List(pl_name);

IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List(pl_id);
END IF;

pl_id := Get_Parameter_List(pl_name);

IF Id_Null(pl_id) THEN
pl_id := Create_Parameter_List(pl_name);
END IF;

Add_Parameter(pl_id,'RUN_FORM',TEXT_PARAMETER,v_RUN_FORM);
CALL_FORM(form_path||fname,hide,no_replace,no_query_only,pl_id);

EXCEPTION
WHEN OTHERS THEN
NULL;
END;




-------------Example;
Note :  MOBILE_NO destination form parameter name.
         :PATIENT_LABTEST_PF.P_MOBILE1  source form item value. here you can also use parameter value from source form.
Note ** : use disnation form this parameter value ...because when you call distanation form that pl_id will be pass as destination form parameter value.


DECLARE

PL_ID PARAMLIST;

PL_NAME VARCHAR2(20):= 'P_MANUALAD';


BEGIN

PL_ID := GET_PARAMETER_LIST(PL_NAME);

IF ID_NULL(PL_ID) THEN

    PL_ID := CREATE_PARAMETER_LIST(PL_NAME);
ADD_PARAMETER(PL_ID,'MOBILE_NO',TEXT_PARAMETER,:PATIENT_LABTEST_PF.P_MOBILE1);


IF ID_NULL(PL_ID) THEN
MSGBOX('Error creating parameter list. ');
  RETURN;
END IF;

ELSE
DELETE_PARAMETER(PL_ID,'MOBILE_NO');


ADD_PARAMETER(PL_ID,'MOBILE_NO',TEXT_PARAMETER,:PATIENT_LABTEST_PF.P_MOBILE1);


END IF;

CALL_FORM(form_path||'DUMMY_FORM.fmx',HIDE,DO_REPLACE,NO_QUERY_ONLY,PL_ID);

END;

use disnation form this parameter value ...because when you call distanation form that pl_id will be pass as destination form parameter value.