<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic load in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170553#M122954</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a sequential file to load data into SAP. In this process, I have to load the data to PA0000 and PA0001 infotypes and then the positions on 1007 infotype, while dong this, CALL TRANSACTION 'PA30'  the program is throwing an error mssg saying that 'call transaction failed' and personnel number does not exist and select the hiring action.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;while the data is reading from the sequential file into the bdc_tab in the right format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone put some light onto this?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vinu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Feb 2006 15:49:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-02-15T15:49:32Z</dc:date>
    <item>
      <title>load</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170553#M122954</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a sequential file to load data into SAP. In this process, I have to load the data to PA0000 and PA0001 infotypes and then the positions on 1007 infotype, while dong this, CALL TRANSACTION 'PA30'  the program is throwing an error mssg saying that 'call transaction failed' and personnel number does not exist and select the hiring action.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;while the data is reading from the sequential file into the bdc_tab in the right format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone put some light onto this?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vinu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2006 15:49:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170553#M122954</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-15T15:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: load</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170554#M122955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you please paste a piece of code...it's easier to help when you can read it -;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greetings,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blag.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2006 15:54:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170554#M122955</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-15T15:54:10Z</dc:date>
    </item>
    <item>
      <title>Re: load</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170555#M122956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  In order to create a new record U need to go thru&lt;/P&gt;&lt;P&gt;  PA40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;GSR.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2006 15:55:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170555#M122956</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-15T15:55:58Z</dc:date>
    </item>
    <item>
      <title>Re: load</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170556#M122957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vinu,&lt;/P&gt;&lt;P&gt;   I guess the data is not loaded to PA0000 &amp;amp; PA0001 &amp;amp; during the call transaction 'PA30',it is checking for the Personnel number which was supposed to get created in those tables.&lt;/P&gt;&lt;P&gt;You can use statement&lt;/P&gt;&lt;P&gt;WAIT UP TO time SECONDS. or soime thing like that before doing the call transaction PA30.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2006 15:57:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170556#M122957</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-15T15:57:15Z</dc:date>
    </item>
    <item>
      <title>Re: load</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170557#M122958</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I know that, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the piece of code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:  pa0171, p0171, pa0002,  zmetzpos, pa0001.&lt;/P&gt;&lt;P&gt;DATA: upd00(1) TYPE c,&lt;/P&gt;&lt;P&gt;      upd01(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA  message_text(254) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK ch1 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:  zbegda LIKE p0171-begda DEFAULT sy-datum,&lt;/P&gt;&lt;P&gt;zendda LIKE p0171-endda DEFAULT '99991231',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;filein(60) DEFAULT '/interfacep/inbound/one.txt' LOWER CASE,&lt;/P&gt;&lt;P&gt;filestat(60) DEFAULT '/interfacep/outbound/rs.txt'&lt;/P&gt;&lt;P&gt;                                                             LOWER CASE,&lt;/P&gt;&lt;P&gt;fileout(60) DEFAULT '/interfacep/outbound/errors.txt&lt;/P&gt;&lt;P&gt;                                                            LOWER CASE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DV1K902244&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;s_mode TYPE c DEFAULT 'N',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;rest AS CHECKBOX.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;s_mode TYPE c DEFAULT 'N'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETER: rest AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(70) text-001.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DV1K902244&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK ch1.&lt;/P&gt;&lt;P&gt;DATA:zvalid LIKE p0171-begda.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_in OCCURS 1,&lt;/P&gt;&lt;P&gt;pernr(8) TYPE c,&lt;/P&gt;&lt;P&gt;filler1(56) TYPE c,&lt;/P&gt;&lt;P&gt;sachz(3) TYPE c,&lt;/P&gt;&lt;P&gt;END OF itab_in.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF hold_tab OCCURS 1,&lt;/P&gt;&lt;P&gt;pernr(8) TYPE c,&lt;/P&gt;&lt;P&gt;filler1(56) TYPE c,&lt;/P&gt;&lt;P&gt;sachz(3) TYPE c,&lt;/P&gt;&lt;P&gt;END OF hold_tab.&lt;/P&gt;&lt;P&gt;DATA:work_pernr(8) TYPE c.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;format of the bdc input file, with extra field for pernr&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF itab OCCURS 1,&lt;/P&gt;&lt;P&gt;begda LIKE p0171-begda,&lt;/P&gt;&lt;P&gt;endda LIKE p0171-endda,&lt;/P&gt;&lt;P&gt;offic LIKE p0171-offic,&lt;/P&gt;&lt;P&gt;pernr LIKE p0002-pernr,&lt;/P&gt;&lt;P&gt;END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF messtab OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcmsgcoll.&lt;/P&gt;&lt;P&gt;DATA: END OF messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: bdc_tab LIKE bdcdata OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: zpernr LIKE p0002-pernr,&lt;/P&gt;&lt;P&gt;      bisflag(1)  TYPE c VALUE 'N'.&lt;/P&gt;&lt;P&gt;DATA: format_begda LIKE p0171-begda.&lt;/P&gt;&lt;P&gt;DATA: format_valid LIKE p0171-begda.&lt;/P&gt;&lt;P&gt;DATA: format_endda LIKE p0171-begda.&lt;/P&gt;&lt;P&gt;DATA: eofflag(1) TYPE n.&lt;/P&gt;&lt;P&gt;DATA: record_read(9) TYPE n.&lt;/P&gt;&lt;P&gt;DATA: ssn_error TYPE i.&lt;/P&gt;&lt;P&gt;DATA: record_created(9) TYPE n.&lt;/P&gt;&lt;P&gt;DATA: record_error(9) TYPE n.&lt;/P&gt;&lt;P&gt;DATA: officer_count TYPE i.&lt;/P&gt;&lt;P&gt;DATA: officer_fail TYPE i.&lt;/P&gt;&lt;P&gt;DATA: zreturn_code LIKE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;initialization&lt;/STRONG&gt;*******************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  ssn_error = 0.&lt;/P&gt;&lt;P&gt;  record_read = 0.&lt;/P&gt;&lt;P&gt;  record_error = 0.&lt;/P&gt;&lt;P&gt;  zreturn_code = 0.&lt;/P&gt;&lt;P&gt;  officer_count = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;start-of-selection&lt;/STRONG&gt;***************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;formating the date to be MMDDYYYY instead of YYYYMMDD&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  zvalid = zbegda - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE zvalid&lt;EM&gt;4(2) zvalid&lt;/EM&gt;6(2) zvalid(4) INTO format_valid.&lt;/P&gt;&lt;P&gt;  CONCATENATE zbegda&lt;EM&gt;4(2) zbegda&lt;/EM&gt;6(2) zbegda(4) INTO format_begda.&lt;/P&gt;&lt;P&gt;  CONCATENATE zendda&lt;EM&gt;4(2) zendda&lt;/EM&gt;6(2) zendda(4) INTO format_endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;open the files for input and output&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  IF rest = 'X'.&lt;/P&gt;&lt;P&gt;    OPEN DATASET fileout FOR APPENDING IN TEXT MODE.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      WRITE: /'Could not open error output file.'.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    OPEN DATASET fileout FOR OUTPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      WRITE: /'Could not open error output file.'.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET filein FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: /'Could not open input file.'.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rest = 'X'.&lt;/P&gt;&lt;P&gt;    OPEN DATASET  filestat FOR INPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      WRITE: /'Could not open input file.'.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    WHILE eofflag = 0.&lt;/P&gt;&lt;P&gt;      work_pernr = hold_tab-pernr.&lt;/P&gt;&lt;P&gt;      READ DATASET filestat INTO hold_tab.&lt;/P&gt;&lt;P&gt;      eofflag = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET filestat.&lt;/P&gt;&lt;P&gt;    WHILE work_pernr NE itab_in-pernr.&lt;/P&gt;&lt;P&gt;      READ DATASET filein INTO itab_in.&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;    OPEN DATASET filestat FOR APPENDING IN TEXT MODE.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      WRITE: /'Could not open stat file. '.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    OPEN DATASET filestat FOR OUTPUT IN TEXT MODE.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Could not open stat file '.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;processing the input file&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    READ DATASET filein INTO itab_in.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    REFRESH itab.&lt;/P&gt;&lt;P&gt;    CLEAR itab.&lt;/P&gt;&lt;P&gt;    REFRESH messtab.&lt;/P&gt;&lt;P&gt;    CLEAR messtab.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;TRANSFERRING DATA TO ITAB WITH SAP DEFINED FIELDS FOR PROCESSING&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;count of how many records the program reads from the file&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;    record_read = record_read + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;processing to look-up ssn and get the appropriate pernr&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;a pernr of '00000000' means that there is not a valid pernr for the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;given ssn, therefore the return code will = 4**&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    itab-pernr = itab_in-pernr.&lt;/P&gt;&lt;P&gt;    itab-begda = format_begda.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE pdposition sacha INTO&lt;/P&gt;&lt;P&gt;                (zmetzpos-pdposition, zmetzpos-sacha)&lt;/P&gt;&lt;P&gt;           FROM zmetzpos&lt;/P&gt;&lt;P&gt;           WHERE pernr = itab-pernr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR zmetzpos-pdposition.&lt;/P&gt;&lt;P&gt;      CLEAR zmetzpos-sacha.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR upd00.&lt;/P&gt;&lt;P&gt;    CLEAR upd01.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;filling the bdc_tab for processing&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;    PERFORM fill_bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HERE...... THE DATA IS UPDATED IN THE INTERNAL TABLE &lt;/P&gt;&lt;P&gt;'BDC_TAB' AND THE PERSONNEL NUMBER, BEGDA AND MASSN ARE STORED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;calling the PA30 transaction to process the records in the bdc_tab&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;HERE THE TRANSACTION IS FAILING, &lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'PA30'&lt;/P&gt;&lt;P&gt;    USING bdc_tab&lt;/P&gt;&lt;P&gt;    MODE s_mode&lt;/P&gt;&lt;P&gt;    UPDATE 'S'&lt;/P&gt;&lt;P&gt;    MESSAGES INTO messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      TRANSFER itab_in TO filestat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TRANSFER itab_in TO fileout.&lt;/P&gt;&lt;P&gt;      record_error = record_error + 1.&lt;/P&gt;&lt;P&gt;      PERFORM write_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add to batch session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF bisflag = 'N'.&lt;/P&gt;&lt;P&gt;        bisflag = 'Y'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            client              = sy-mandt&lt;/P&gt;&lt;P&gt;            group               = 'CONVPSN'&lt;/P&gt;&lt;P&gt;            keep                = 'X'  "Retention flag&lt;/P&gt;&lt;P&gt;            user                = sy-uname  "Batch input user name&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            client_invalid      = 01&lt;/P&gt;&lt;P&gt;            destination_invalid = 02&lt;/P&gt;&lt;P&gt;            group_invalid       = 03&lt;/P&gt;&lt;P&gt;            holddate_invalid    = 04&lt;/P&gt;&lt;P&gt;            internal_error      = 05&lt;/P&gt;&lt;P&gt;            queue_error         = 06&lt;/P&gt;&lt;P&gt;            running             = 07&lt;/P&gt;&lt;P&gt;            user_invalid        = 08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          tcode          = 'PA30'&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          dynprotab      = bdc_tab&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          internal_error = 01&lt;/P&gt;&lt;P&gt;          not_open       = 02&lt;/P&gt;&lt;P&gt;          queue_error    = 03&lt;/P&gt;&lt;P&gt;          tcode_invalid  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      upd00 = 'y'.&lt;/P&gt;&lt;P&gt;      record_created = record_created + 1.&lt;/P&gt;&lt;P&gt;      TRANSFER itab_in TO filestat.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if upd00 = 'y'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform delimit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;update records for officers, read the file with ssn's of officers and*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;update the officer flag on IT0171 to 'X'.                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform update_officers.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;writing the stats of the program to the screen and to the stats file&lt;/STRONG&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;perform write_to_file.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE:/.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Total records read                     ', record_read.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Total error records that went to batch ', record_error.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'Total records created in SAP           ', record_created.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;close all files that were open for processing&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  CLOSE DATASET fileout.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET filein.&lt;/P&gt;&lt;P&gt;  CLOSE DATASET filestat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close dataset filestat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close dataset fileoffi.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;close dataset filemess.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF bisflag = 'Y'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        not_open    = 01&lt;/P&gt;&lt;P&gt;        queue_error = 02.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  INFOTYPE1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM infotype1.&lt;/P&gt;&lt;P&gt;  PERFORM fill_bdc_tab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;calling the PA30 transaction to process the records in the bdc_tab&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'PA30'&lt;/P&gt;&lt;P&gt;  USING bdc_tab&lt;/P&gt;&lt;P&gt;  MODE s_mode&lt;/P&gt;&lt;P&gt;  UPDATE 'S'&lt;/P&gt;&lt;P&gt;  MESSAGES INTO messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    TRANSFER itab_in TO filestat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRANSFER itab_in TO fileout.&lt;/P&gt;&lt;P&gt;    record_error = record_error + 1.&lt;/P&gt;&lt;P&gt;    PERFORM write_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add to batch session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF bisflag = 'N'.&lt;/P&gt;&lt;P&gt;      bisflag = 'Y'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          client              = sy-mandt&lt;/P&gt;&lt;P&gt;          group               = 'CONVPSN'&lt;/P&gt;&lt;P&gt;          keep                = 'X'  "Retention flag&lt;/P&gt;&lt;P&gt;          user                = sy-uname  "Batch input user name&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          client_invalid      = 01&lt;/P&gt;&lt;P&gt;          destination_invalid = 02&lt;/P&gt;&lt;P&gt;          group_invalid       = 03&lt;/P&gt;&lt;P&gt;          holddate_invalid    = 04&lt;/P&gt;&lt;P&gt;          internal_error      = 05&lt;/P&gt;&lt;P&gt;          queue_error         = 06&lt;/P&gt;&lt;P&gt;          running             = 07&lt;/P&gt;&lt;P&gt;          user_invalid        = 08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        tcode          = 'PA30'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        dynprotab      = bdc_tab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        internal_error = 01&lt;/P&gt;&lt;P&gt;        not_open       = 02&lt;/P&gt;&lt;P&gt;        queue_error    = 03&lt;/P&gt;&lt;P&gt;        tcode_invalid  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    upd01 = 'y'.&lt;/P&gt;&lt;P&gt;    record_created = record_created + 1.&lt;/P&gt;&lt;P&gt;    TRANSFER itab_in TO filestat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "INFOTYPE1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DELIMIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM delimit.&lt;/P&gt;&lt;P&gt;  PERFORM fill_bdc_tab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;calling the PA30 transaction to process the records in the bdc_tab&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'PP01'&lt;/P&gt;&lt;P&gt;  USING bdc_tab&lt;/P&gt;&lt;P&gt;  MODE s_mode&lt;/P&gt;&lt;P&gt;  UPDATE 'S'&lt;/P&gt;&lt;P&gt;  MESSAGES INTO messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    TRANSFER itab_in TO filestat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRANSFER itab_in TO fileout.&lt;/P&gt;&lt;P&gt;    record_error = record_error + 1.&lt;/P&gt;&lt;P&gt;    PERFORM write_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add to batch session&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF bisflag = 'N'.&lt;/P&gt;&lt;P&gt;      bisflag = 'Y'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          client              = sy-mandt&lt;/P&gt;&lt;P&gt;          group               = 'CONVPSN'&lt;/P&gt;&lt;P&gt;          keep                = 'X'  "Retention flag&lt;/P&gt;&lt;P&gt;          user                = sy-uname  "Batch input user name&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          client_invalid      = 01&lt;/P&gt;&lt;P&gt;          destination_invalid = 02&lt;/P&gt;&lt;P&gt;          group_invalid       = 03&lt;/P&gt;&lt;P&gt;          holddate_invalid    = 04&lt;/P&gt;&lt;P&gt;          internal_error      = 05&lt;/P&gt;&lt;P&gt;          queue_error         = 06&lt;/P&gt;&lt;P&gt;          running             = 07&lt;/P&gt;&lt;P&gt;          user_invalid        = 08.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        tcode          = 'PA30'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        dynprotab      = bdc_tab&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        internal_error = 01&lt;/P&gt;&lt;P&gt;        not_open       = 02&lt;/P&gt;&lt;P&gt;        queue_error    = 03&lt;/P&gt;&lt;P&gt;        tcode_invalid  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    record_created = record_created + 1.&lt;/P&gt;&lt;P&gt;    TRANSFER itab_in TO filestat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DELIMIT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_BDC_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_bdc_tab.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;make sure bdc_tab is empty for the next entry&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  REFRESH bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM populate_bdc_tab USING:&lt;/P&gt;&lt;P&gt;  '1' 'SAPMP50A'   '1000',             "program name and screen number&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_CURSOR' 'RP50G-CHOIC',&lt;/P&gt;&lt;P&gt;  ' ' 'RP50G-PERNR' itab-pernr,        "personnel number&lt;/P&gt;&lt;P&gt;  ' ' 'RP50G-CHOIC' '0',&lt;/P&gt;&lt;P&gt;  ' ' 'RP50G-TIMR6' 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  '1' 'SAPMP50A' '1000',&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' 'INS',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-PERNR,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  '1' 'MP000000' '2000',               "program and screen for the IT171&lt;/P&gt;&lt;P&gt;*' ' 'BDC_OKCODE' 'UPD',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-DOCI1,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'P0000-BEGDA' itab-begda,        "begin date&lt;/P&gt;&lt;P&gt;  ' ' 'P0000-MASSN' 'CP',             "event type&lt;/P&gt;&lt;P&gt;  ' ' 'PSPAR-PLANS' zmetzpos-pdposition, "position&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-OFFIC' itab-offic,        "company officer indicator&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCN1' itab-docn1,        "doctor name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCI1' itab-doci1,        "doctor id number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-HICMP' itab-hicmp,        "highly compensated employee ind.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/11',              "save&lt;/P&gt;&lt;P&gt;  '1' 'MP000100' '2010',               "program and screen for the IT171&lt;/P&gt;&lt;P&gt;*' ' 'BDC_OKCODE' 'UPD',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-DOCI1,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'P0001-BEGDA' itab-begda,        "begin date&lt;/P&gt;&lt;P&gt;  ' ' 'P0001-SACHA' zmetzpos-sacha,   "payroll admin&lt;/P&gt;&lt;P&gt;  ' ' 'P0001-SACHZ' itab_in-sachz,  "time&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-OFFIC' itab-offic,        "company officer indicator&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCN1' itab-docn1,        "doctor name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCI1' itab-doci1,        "doctor id number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-HICMP' itab-hicmp,        "highly compensated employee ind.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/11',         "save&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/11'.              "save&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FILL_BDC_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_BDC_TAB3&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_bdc_tab3.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;make sure bdc_tab is empty for the next entry&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  REFRESH bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM populate_bdc_tab USING:&lt;/P&gt;&lt;P&gt;  '1' 'SAPMH5A0'   '5000',             "program name and screen number&lt;/P&gt;&lt;P&gt;  ' ' 'PPHDR-OTYPE' 'S ',              "object type&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ' ' 'PM0D1-SEARK' zmetzpos-pdposition, "position&lt;/P&gt;&lt;P&gt;  ' ' 'PPHDR-BEGDA' format_begda,        "validity begin date&lt;/P&gt;&lt;P&gt;  ' ' 'PPHDR-ENDDA' format_endda,        "validity end date&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' 'CUTI',&lt;/P&gt;&lt;P&gt;  '1' 'SAPMH5A0'   '5000',             "program name and screen number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ' ' 'PM0D1-PPSEL(6)' 'X',                 "click vacancy&lt;/P&gt;&lt;P&gt;  ' ' 'PM0D1-PPACTIV(6)' 'X',                 "click active&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' 'CUTI',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-PERNR,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  '1' 'MP100700' '2000',               "program and screen for the IT171&lt;/P&gt;&lt;P&gt;*' ' 'BDC_OKCODE' 'UPD',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-DOCI1,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'P1007-ENDDA' format_valid,      "end validity date&lt;/P&gt;&lt;P&gt;  ' ' 'PPHDR-HISTO' 'X',             "click historical records&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-OFFIC' itab-offic,        "company officer indicator&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCN1' itab-docn1,        "doctor name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCI1' itab-doci1,        "doctor id number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-HICMP' itab-hicmp,        "highly compensated employee ind.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' 'CUTI'.             "save&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FILL_BDC_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_BDC_TAB2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_bdc_tab2.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;make sure bdc_tab is empty for the next entry&lt;/STRONG&gt;*&lt;/P&gt;&lt;P&gt;  REFRESH bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM populate_bdc_tab USING:&lt;/P&gt;&lt;P&gt;  '1' 'SAPMP50A'   '1000',             "program name and screen number&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/00',&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_CURSOR' 'RP50G-CHOIC',&lt;/P&gt;&lt;P&gt;  ' ' 'RP50G-PERNR' itab-pernr,        "personnel number&lt;/P&gt;&lt;P&gt;  ' ' 'RP50G-CHOIC' '1',&lt;/P&gt;&lt;P&gt;  ' ' 'RP50G-TIMR6' 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  '1' 'SAPMP50A' '1000',&lt;/P&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' 'INS',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-PERNR,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  '1' 'MP000100' '2010',               "program and screen for the IT171&lt;/P&gt;&lt;P&gt;*' ' 'BDC_OKCODE' 'UPD',&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'BDC_CURSOR' ITAB-DOCI1,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'P0001-BEGDA' itab-begda,        "begin date&lt;/P&gt;&lt;P&gt;  ' ' 'P0001-SACHA' zmetzpos-sacha,   "payroll admin&lt;/P&gt;&lt;P&gt;  ' ' 'P0001-SACHZ' itab_in-sachz,  "time&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-OFFIC' itab-offic,        "company officer indicator&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCN1' itab-docn1,        "doctor name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-DOCI1' itab-doci1,        "doctor id number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;' ' 'P0171-HICMP' itab-hicmp,        "highly compensated employee ind.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ' ' 'BDC_OKCODE' '/11'.              "save&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FILL_BDC_TAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_BDC_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0393   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0394   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0395   text                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_bdc_tab USING    flag var1 var2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR bdc_tab.&lt;/P&gt;&lt;P&gt;  IF flag = '1'.&lt;/P&gt;&lt;P&gt;    bdc_tab-program = var1.&lt;/P&gt;&lt;P&gt;    bdc_tab-dynpro = var2.&lt;/P&gt;&lt;P&gt;    bdc_tab-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    bdc_tab-fnam = var1.&lt;/P&gt;&lt;P&gt;    bdc_tab-fval = var2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND bdc_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " POPULATE_BDC_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_ERRORS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM write_errors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      display_to_screen = 'Y'&lt;/P&gt;&lt;P&gt;      message_number    = '000'&lt;/P&gt;&lt;P&gt;      variable_1        = 'Call transaction failed '&lt;/P&gt;&lt;P&gt;      variable_2        = itab-pernr&lt;/P&gt;&lt;P&gt;      variable_3        = ''&lt;/P&gt;&lt;P&gt;      variable_4        = ''&lt;/P&gt;&lt;P&gt;      message_id        = 'ZZ'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      cant_open_file    = 1&lt;/P&gt;&lt;P&gt;      OTHERS            = 2.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Call Transaction failed ', itab-pernr.&lt;/P&gt;&lt;P&gt;  LOOP AT messtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_REPORT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;             display_to_screen  = 'Y'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        RUN_IN_BATCH       = SY-BATCH&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              message_number     = messtab-msgnr&lt;/P&gt;&lt;P&gt;             variable_1         = messtab-msgv1&lt;/P&gt;&lt;P&gt;             variable_2         = messtab-msgv2&lt;/P&gt;&lt;P&gt;             variable_3         = messtab-msgv3&lt;/P&gt;&lt;P&gt;             variable_4         = messtab-msgv4&lt;/P&gt;&lt;P&gt;             message_id         = messtab-msgid&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              cant_open_file     = 1&lt;/P&gt;&lt;P&gt;              OTHERS             = 2.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_MESSAGE_TEXT_BUILD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        msgid               = messtab-msgid&lt;/P&gt;&lt;P&gt;        msgnr               = messtab-msgnr&lt;/P&gt;&lt;P&gt;        msgv1               = messtab-msgv1&lt;/P&gt;&lt;P&gt;        msgv2               = messtab-msgv2&lt;/P&gt;&lt;P&gt;        msgv3               = messtab-msgv3&lt;/P&gt;&lt;P&gt;        msgv4               = messtab-msgv4&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        message_text_output = message_text&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        message_not_found   = 01.&lt;/P&gt;&lt;P&gt;    WRITE: / message_text.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      display_to_screen = 'Y'&lt;/P&gt;&lt;P&gt;      message_number    = '000'&lt;/P&gt;&lt;P&gt;      variable_1        = ' '&lt;/P&gt;&lt;P&gt;      variable_2        = ''&lt;/P&gt;&lt;P&gt;      variable_3        = ''&lt;/P&gt;&lt;P&gt;      variable_4        = ''&lt;/P&gt;&lt;P&gt;      message_id        = 'ZZ'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      cant_open_file    = 1&lt;/P&gt;&lt;P&gt;      OTHERS            = 2.&lt;/P&gt;&lt;P&gt;  WRITE: /.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_ERRORS&lt;/P&gt;&lt;P&gt;Note: Also, the objects have to be loaded into HRP1000 has thing something to do with it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know..&lt;/P&gt;&lt;P&gt;thanks.&lt;/P&gt;&lt;P&gt;Vinu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2006 16:17:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/load/m-p/1170557#M122958</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-15T16:17:33Z</dc:date>
    </item>
  </channel>
</rss>

