Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

US Payroll load

Former Member
0 Likes
695

Hi,

I am trying to load the tables T558b, T558c and T5U8C tables. I am using the report HINUULK0 to load the T558B and T558C tables. How to load T5U8c table? Thanks in advance.

Best Regards,

Vssr

1 ACCEPTED SOLUTION
Read only

suresh_datti
Active Contributor
0 Likes
612

You will have to write a small utility to load the Table T5U8C.. You can use the following as a template.. it is quite an old one.. you might want to replace the WS_UPLOAD with a method from CLGUI_FRONTEND_SERVICES or use GUI_UPLOAD function call..

REPORT ZUPLOAD MESSAGE-ID ZP.

TABLES :T5U8C .    " payroll periods for each personnal no
TABLES : PA0002.   " HR Master load - it 0002 -

PARAMETERS : FT5U8C LIKE RLGRAP-FILENAME DEFAULT'C:5U8C.TXT'.

DATA: BEGIN OF ITAB5U OCCURS 0,
   PERNR1(9),                   " like   t5u8c-pernr,
   SEQNR LIKE   T5U8C-SEQNR,
   TBLTY LIKE   T5U8C-TBLTY,
   MOLGA LIKE   T5U8C-MOLGA,
   LGART LIKE   T5U8C-LGART,
   TAXAU LIKE   T5U8C-TAXAU,
   KEYDATE LIKE T5U8C-KEYDATE,
   KEYDATE1(10),
   BETPE(15) TYPE C,
   ANZHL(15) TYPE C,
   BETRG(15) TYPE C.
*include structure T5U8C.
DATA :END OF ITAB5U.

DATA: DELIMITER TYPE X VALUE'09', ERR(50).

PERFORM UPLOAD_T5U8C USING FT5U8C ERR.
PERFORM APPEND.

*---------------------------------------------------------------------*
*       FORM UPLOAD_T5U8C                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  FT5U8C                                                        *
*  -->  ERR                                                           *
*---------------------------------------------------------------------*
FORM UPLOAD_T5U8C USING FT5U8C ERR.

  DATA: BEGIN OF ITAB OCCURS 0,
  FILE1(8192),
   END OF ITAB.
  CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
            FILENAME      = FT5U8C
            FILETYPE      = 'ASC'
       TABLES
            DATA_TAB      = ITAB
       EXCEPTIONS
            UNKNOWN_ERROR = 7
            OTHERS        = 8.
  PERFORM CHECK_ERROR USING SY-SUBRC ERR.
  DATA : T.  " Used to store junk (tab) char if any ...
  LOOP AT ITAB.
    SPLIT ITAB-FILE1 AT DELIMITER INTO
ITAB5U-PERNR1 ITAB5U-SEQNR ITAB5U-TBLTY ITAB5U-MOLGA
ITAB5U-LGART ITAB5U-TAXAU ITAB5U-KEYDATE1 ITAB5U-BETPE
ITAB5U-ANZHL ITAB5U-BETRG T.

CONCATENATE ITAB5U-KEYDATE1+6(4)
           ITAB5U-KEYDATE1+0(2)
           ITAB5U-KEYDATE1+3(2) INTO ITAB5U-KEYDATE.
IF ITAB5U-PERNR1 NE SPACE.
  APPEND ITAB5U.
ENDIF.
  ENDLOOP.
ENDFORM.

*---------------------------------------------------------------------*
*       FORM APPEND                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM APPEND.
  LOOP AT ITAB5U.

   SELECT SINGLE * FROM PA0002 WHERE PERID =  ITAB5U-PERNR1.
  IF SY-SUBRC NE 0.
     WRITE :/ 'No employee with SSN:',  ITAB5U-PERNR1.
  ELSE.
    T5U8C-PERNR =  PA0002-PERNR.  "tab5u-pernr1.
    T5U8C-SEQNR =  ITAB5U-SEQNR.
    T5U8C-TBLTY =  ITAB5U-TBLTY.
    T5U8C-MOLGA =  ITAB5U-MOLGA.
    T5U8C-LGART =  ITAB5U-LGART.
    T5U8C-TAXAU = ITAB5U-TAXAU.
    T5U8C-KEYDATE =  ITAB5U-KEYDATE.
    T5U8C-BETPE =  ITAB5U-BETPE.
    T5U8C-ANZHL =  ITAB5U-ANZHL.
    T5U8C-BETRG =  ITAB5U-BETRG.
IF T5U8C-PERNR NE '0'.
    INSERT  T5U8C.
    ENDIF.
    IF SY-SUBRC NE 0.
      WRITE:/ 'unable to insert into table T5U8C'.
      WRITE T5U8C-PERNR.
      CONTINUE.
    ENDIF.
   ENDIF.    " select on pa0002 for ssn
  ENDLOOP.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM CHECK_ERROR                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  ERR_CD                                                        *
*  -->  STAGE                                                         *
*---------------------------------------------------------------------*
FORM CHECK_ERROR USING ERR_CD STAGE.
  CASE ERR_CD.
    WHEN 0.
    WHEN OTHERS.
      WRITE:/ 'Error in the process ', STAGE, '. Error -', ERR_CD.
      STOP.
  ENDCASE.
ENDFORM.

~Suresh

3 REPLIES 3
Read only

suresh_datti
Active Contributor
0 Likes
613

You will have to write a small utility to load the Table T5U8C.. You can use the following as a template.. it is quite an old one.. you might want to replace the WS_UPLOAD with a method from CLGUI_FRONTEND_SERVICES or use GUI_UPLOAD function call..

REPORT ZUPLOAD MESSAGE-ID ZP.

TABLES :T5U8C .    " payroll periods for each personnal no
TABLES : PA0002.   " HR Master load - it 0002 -

PARAMETERS : FT5U8C LIKE RLGRAP-FILENAME DEFAULT'C:5U8C.TXT'.

DATA: BEGIN OF ITAB5U OCCURS 0,
   PERNR1(9),                   " like   t5u8c-pernr,
   SEQNR LIKE   T5U8C-SEQNR,
   TBLTY LIKE   T5U8C-TBLTY,
   MOLGA LIKE   T5U8C-MOLGA,
   LGART LIKE   T5U8C-LGART,
   TAXAU LIKE   T5U8C-TAXAU,
   KEYDATE LIKE T5U8C-KEYDATE,
   KEYDATE1(10),
   BETPE(15) TYPE C,
   ANZHL(15) TYPE C,
   BETRG(15) TYPE C.
*include structure T5U8C.
DATA :END OF ITAB5U.

DATA: DELIMITER TYPE X VALUE'09', ERR(50).

PERFORM UPLOAD_T5U8C USING FT5U8C ERR.
PERFORM APPEND.

*---------------------------------------------------------------------*
*       FORM UPLOAD_T5U8C                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  FT5U8C                                                        *
*  -->  ERR                                                           *
*---------------------------------------------------------------------*
FORM UPLOAD_T5U8C USING FT5U8C ERR.

  DATA: BEGIN OF ITAB OCCURS 0,
  FILE1(8192),
   END OF ITAB.
  CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
            FILENAME      = FT5U8C
            FILETYPE      = 'ASC'
       TABLES
            DATA_TAB      = ITAB
       EXCEPTIONS
            UNKNOWN_ERROR = 7
            OTHERS        = 8.
  PERFORM CHECK_ERROR USING SY-SUBRC ERR.
  DATA : T.  " Used to store junk (tab) char if any ...
  LOOP AT ITAB.
    SPLIT ITAB-FILE1 AT DELIMITER INTO
ITAB5U-PERNR1 ITAB5U-SEQNR ITAB5U-TBLTY ITAB5U-MOLGA
ITAB5U-LGART ITAB5U-TAXAU ITAB5U-KEYDATE1 ITAB5U-BETPE
ITAB5U-ANZHL ITAB5U-BETRG T.

CONCATENATE ITAB5U-KEYDATE1+6(4)
           ITAB5U-KEYDATE1+0(2)
           ITAB5U-KEYDATE1+3(2) INTO ITAB5U-KEYDATE.
IF ITAB5U-PERNR1 NE SPACE.
  APPEND ITAB5U.
ENDIF.
  ENDLOOP.
ENDFORM.

*---------------------------------------------------------------------*
*       FORM APPEND                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM APPEND.
  LOOP AT ITAB5U.

   SELECT SINGLE * FROM PA0002 WHERE PERID =  ITAB5U-PERNR1.
  IF SY-SUBRC NE 0.
     WRITE :/ 'No employee with SSN:',  ITAB5U-PERNR1.
  ELSE.
    T5U8C-PERNR =  PA0002-PERNR.  "tab5u-pernr1.
    T5U8C-SEQNR =  ITAB5U-SEQNR.
    T5U8C-TBLTY =  ITAB5U-TBLTY.
    T5U8C-MOLGA =  ITAB5U-MOLGA.
    T5U8C-LGART =  ITAB5U-LGART.
    T5U8C-TAXAU = ITAB5U-TAXAU.
    T5U8C-KEYDATE =  ITAB5U-KEYDATE.
    T5U8C-BETPE =  ITAB5U-BETPE.
    T5U8C-ANZHL =  ITAB5U-ANZHL.
    T5U8C-BETRG =  ITAB5U-BETRG.
IF T5U8C-PERNR NE '0'.
    INSERT  T5U8C.
    ENDIF.
    IF SY-SUBRC NE 0.
      WRITE:/ 'unable to insert into table T5U8C'.
      WRITE T5U8C-PERNR.
      CONTINUE.
    ENDIF.
   ENDIF.    " select on pa0002 for ssn
  ENDLOOP.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM CHECK_ERROR                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  ERR_CD                                                        *
*  -->  STAGE                                                         *
*---------------------------------------------------------------------*
FORM CHECK_ERROR USING ERR_CD STAGE.
  CASE ERR_CD.
    WHEN 0.
    WHEN OTHERS.
      WRITE:/ 'Error in the process ', STAGE, '. Error -', ERR_CD.
      STOP.
  ENDCASE.
ENDFORM.

~Suresh

Read only

0 Likes
612

Thanks Suresh.

Read only

0 Likes
612

If your issue is resolved, Pl close the thread by using one of the radiobuttons to the left.

~Suresh