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

sap abap

Former Member
0 Likes
694

how to split one database table records into two database table?

how to split one database table records into two database table?

3 REPLIES 3
Read only

Former Member
0 Likes
661

This message was moderated.

Read only

suresh_kutam
Participant
0 Likes
661

Hello Kukudala,

Loop the main internal table split the data how u want in 2 different internal tables.

After the loop , modify those 2 table with the above tables you filled.

Thanks,

suresh.

Read only

Former Member
0 Likes
661

REPORT  ZSPLIT_ALV_INSERT.

TYPE-POOLS SLIS.

DATA ZTABLE TYPE ZTABLE1.

TYPES : BEGIN     OF TY_ZTABLE1,

        FIELD1       TYPE  ZFIELD1,

        FIELD2       TYPE  ZFIELD2,

        FIELD3       TYPE  ZFIELD3,

        END       OF TY_ZTABLE1.

TYPES : BEGIN    OF  TY_ZTABLE2,

        FIELD1       TYPE  ZFIELD1,

        FIELD4       TYPE  ZFIELD4,

        FIELD5       TYPE  ZFIELD5,

        FIELD6       TYPE  ZFIELD6,

        END     OF   TY_ZEDU_TABLE.

TYPES : BEGIN     OF  TY_FINAL,

        FIELD1      TYPE  ZFIELD1,

        FIELD2      TYPE  ZFIELD2,

        FIELD3      TYPE  ZFIELD3,

        FIELD4      TYPE  ZFIELD4,

        FIELD5      TYPE  ZFIELD5,

        FIELD6      TYPE  ZFIELD6,

        END       OF  TY_FINAL.

DATA : T_TABLE    TYPE STANDARD TABLE OF TY_ZTABLE1 INITIAL SIZE 1,

       T_TABLE2    TYPE STANDARD TABLE OF TY_ZTABLE2    INITIAL SIZE 1,

       T_FINAL     TYPE STANDARD TABLE OF TY_FINAL      INITIAL SIZE 1,

       T_FCAT      TYPE  SLIS_T_FIELDCAT_ALV,

       W_FCAT     TYPE SLIS_FIELDCAT_ALV,

       W_TABLE    TYPE TY_ZTABLE1,

       W_TABLE2   TYPE ZTABLE2,

       W_FINAL    TYPE TY_FINAL.

TYPES : BEGIN OF TY_FILE,

           LINES(200) TYPE C,

        END OF TY_FILE.

DATA : T_FILE TYPE STANDARD TABLE OF TY_FILE INITIAL SIZE 1,

       W_FILE TYPE TY_FILE.

PARAMETERS : P_PATH TYPE STRING.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.

  CALL FUNCTION 'GUI_FILE_LOAD_DIALOG'

    IMPORTING

      FULLPATH = P_PATH.

START-OF-SELECTION.

  CALL FUNCTION 'GUI_UPLOAD'

    EXPORTING

      FILENAME                = P_PATH

    TABLES

      DATA_TAB                = T_FILE

    EXCEPTIONS

      FILE_OPEN_ERROR         = 1

      FILE_READ_ERROR         = 2

      NO_BATCH                = 3

      GUI_REFUSE_FILETRANSFER = 4

      INVALID_TYPE            = 5

      NO_AUTHORITY            = 6

      UNKNOWN_ERROR           = 7

      BAD_DATA_FORMAT         = 8

      HEADER_NOT_ALLOWED      = 9

      SEPARATOR_NOT_ALLOWED   = 10

      HEADER_TOO_LONG         = 11

      UNKNOWN_DP_ERROR        = 12

      ACCESS_DENIED           = 13

      DP_OUT_OF_MEMORY        = 14

      DISK_FULL               = 15

      DP_TIMEOUT              = 16

      OTHERS                  = 17.

  IF SY-SUBRC <> 0.

    MESSAGE 'WRONG IN UPLOAD FILE' TYPE 'E'.

  ENDIF.

  LOOP AT IT_FILE INTO WA_FILE.

    SPLIT WA_FILE-LINES AT ',' INTO WA_FINAL-FIELD1

                                    WA_FINAL-FIELD2

                                    WA_FINAL-FIELD3

                                    WA_FINAL-FIELD4

                                    WA_FINAL-FIELD5

                                    WA_FINAL-FIELD6.

    APPEND WA_FINAL TO IT_FINAL.

    CLEAR : WA_FILE,WA_FILE-LINES ,WA_FINAL.

  ENDLOOP.

  WA_FCAT-FIELDNAME = 'FIELD1'.

  WA_FCAT-SELTEXT_M = 'FIELD1'.

  WA_FCAT-OUTPUTLEN = 10.

  APPEND WA_FCAT TO IT_FCAT.

  CLEAR WA_FCAT.

  WA_FCAT-FIELDNAME = 'FIELD1'.

  WA_FCAT-SELTEXT_M = 'FIELD2'.

  WA_FCAT-OUTPUTLEN = 10.

  APPEND WA_FCAT TO IT_FCAT.

  CLEAR WA_FCAT.

  WA_FCAT-FIELDNAME = 'FIELD3'.

  WA_FCAT-SELTEXT_M = 'FIELD3'.

  WA_FCAT-OUTPUTLEN = 10.

  APPEND WA_FCAT TO IT_FCAT.

  CLEAR WA_FCAT.

  WA_FCAT-FIELDNAME = 'FIELD4'.

  WA_FCAT-SELTEXT_M = 'FIELD4'.

  WA_FCAT-OUTPUTLEN = 10.

  APPEND WA_FCAT TO IT_FCAT.

  CLEAR WA_FCAT.

  WA_FCAT-FIELDNAME = 'FIELD5'.

  WA_FCAT-SELTEXT_M = 'FIELD5'.

  WA_FCAT-OUTPUTLEN = 10.

  APPEND W_FCAT TO IT_FCAT.

  CLEAR WA_FCAT.

  WA_FCAT-FIELDNAME = 'FIELD6'.

  WA_FCAT-SELTEXT_M = 'FIELD6'.

  WA_FCAT-OUTPUTLEN = 10.

  APPEND WA_FCAT TO IT_FCAT.

  CLEAR WA_FCAT.

  LOOP AT IT_FINAL INTO WA_FINAL.

    ZTABLE-FIELD1 =  WA_FINAL-FIELD1.

    ZTABLE-FIELD2 =  WA_FINAL-FIELD2.

    ZTABLE-FIELD3 =  WA_FINAL-FIELD3.

    IF SY-SUBRC = 0.

      INSERT ZTABLE1 FROM ZTABLE.

      COMMIT WORK.

    ELSE .

      ROLLBACK WORK.

    ENDIF.

    WA_EDU-FIELD1 =  WA_FINAL-FIELD1.

    WA_EDU-FIELD4 =  WA_FINAL-FIELD4.

    WA_EDU-FIELD5 =  WA_FINAL-FIELD5.

    WA_EDU-FIELD6 =  WA_FINAL-FIELD6.

    IF SY-SUBRC = 0.

      INSERT ZTABLE2 FROM W_TABLE2.

      COMMIT WORK.

    ELSE .

      ROLLBACK WORK.

    ENDIF.

    CLEAR: WA_FINAL,WA_FILE-LINES.

  ENDLOOP.