Simple ABAP - Create allowed values in a characteristic by BAPI_CHARACT_CREATE

来源:互联网 发布:知乎 美国大选 编辑:程序博客网 时间:2024/06/01 10:20
REPORT  znew.
************************************************************************
* Program Name: BAPI CHARACTER CREATE             Creation: 02/20/2009
*
* SAP Name    : ZNEW                              Application: ABAP
*
* Author      : Srivastava.G                      Type: 1
*_______________________________________________________________*
* Description : To create charcterstics using BAPI Techniques replica
*               for the transaction CT04.
*_______________________________________________________________*
* Inputs:
*   Tables:
*    N/A.
*   Select options:
*     N/A.
*   Parameters:
*     N/A
* Outputs:Creation of characterstic in the repository.With proper
*         messages as displays.
*__________________________________________________________ ____*
* External Routines    N/A.
*
*   Function Modules:
*     BAPI_CHARACT_CREATE
*   Transactions    : No
*   Programs        : No
*_______________________________________________________________*
* Return Codes: No
*_______________________________________________________________*
* Ammendments:
*    Programmer        Date     Req. #            Action
* ================  ==========  ======  ===========================
*
***********************************************************************
*" Types declarations..................................................
*"---------------------------------------------------------------------
* Types to hold the data for the fields to be uploaded.
*"---------------------------------------------------------------------
 
TYPES: BEGIN OF types_s_tab,
  charact_name LIKE bapicharactdetail-charact_name,
  data_type LIKE bapicharactdetail-data_type,
  length LIKE bapicharactdetail-length,
  status LIKE bapicharactdetail-status,
  value_assignment LIKE bapicharactdetail-value_assignment,
  language_int LIKE bapicharactdescr-language_int,
  desc LIKE bapicharactdescr-description,
  langu LIKE bapicharactvaluesdescr-description,
  value_char LIKE bapicharactvaluesdescr-value_char,
  description LIKE bapicharactdescr-description,
  value_char1 LIKE bapicharactvalueschar-value_char,
END OF types_s_tab.
 
*" Data declarations...................................................
*"--------------------------------------------------------------------*
* Field string to hold the data for t_tab.
*"--------------------------------------------------------------------*
 
DATA:
  fs_tab TYPE types_s_tab.
 
*"--------------------------------------------------------------------------------------------*
* Field string to hold the data for bapicharactdetail.
*"--------------------------------------------------------------------------------------------*
 
DATA:
  fs_char TYPE bapicharactdetail.
 
*"-------------------------------------------------------------------------------------------*
* Field string to hold the data for bapicharactdescr.
*"-------------------------------------------------------------------------------------------*
 
DATA:
  fs_chardes TYPE bapicharactdescr.
 
*"--------------------------------------------------------------------------------------------------*
* Field string to hold the data for bapicharactvaluesdescr.
*"--------------------------------------------------------------------------------------------------*
 
DATA:
   fs_charvalue TYPE bapicharactvaluesdescr.
 
*"--------------------------------------------------------------------------------------------------*
* Field string to hold the data for bapiret2.
*"---------------------------------------------------------------------------------------------------*
 
DATA:
  fs_return TYPE bapiret2.
*"--------------------------------------------------------------------------------------------------*
* Field string to hold the data for charactvalueschar.
*"--------------------------------------------------------------------------------------------------*
DATA:
  fs_charv TYPE bapicharactvalueschar.
 
*"--------------------------------------------------------------------------------------------------*
* Field string to hold the after upload.
*"--------------------------------------------------------------------------------------------------*
 
DATA:
  fs_updata TYPE bapicharactdetail.
 
DATA:
  fs_upda TYPE bapicharactdescr.
 
*"-----------------------------------------------------------------------------------------------*
* Internal Table to hold data for  table bapicharactdetail.
*"-----------------------------------------------------------------------------------------------*
 
DATA:
     t_tab TYPE
  STANDARD TABLE
        OF types_s_tab.
*"-----------------------------------------------------------------------------------------------*
* Internal Table to hold data for  table bapicharactdetail.
*"-----------------------------------------------------------------------------------------------*
 
DATA:
      t_char TYPE
    STANDARD TABLE
          OF  bapicharactdetail.
 
*"----------------------------------------------------------------------------------------------*
* Internal Table to hold data for bapicharactdescr.
*"----------------------------------------------------------------------------------------------*
 
DATA:
     t_chardes TYPE
      STANDARD TABLE
            OF bapicharactdescr.
 
*"---------------------------------------------------------------------------------------------*
* Internal Table to hold data for bapicharactvaluesdescr.
*"---------------------------------------------------------------------------------------------*
 
DATA:
    t_charvalue TYPE
       STANDARD TABLE
             OF bapicharactvaluesdescr.
 
*"-----------------------------------------------------------------------------------------*
* Internal Table to hold data for bapiret2.
*"-----------------------------------------------------------------------------------------*
 
DATA:
     t_return TYPE
     STANDARD TABLE
           OF bapiret2.
 
*"------------------------------------------------------------------------------------------*
* Internal Table to hold data for charactvalueschar.
*"------------------------------------------------------------------------------------------*
 
DATA:
  t_charv TYPE
 STANDARD TABLE
       OF bapicharactvalueschar.
 
*" Selection-Screen....................................................
 
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE input.
 
PARAMETERS:
  p_file TYPE
         rlgrap-filename OBLIGATORY.      " File location Input
 
SELECTION-SCREEN END OF BLOCK b1.
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = syst-cprog
      dynpro_number = syst-dynnr
    IMPORTING
      file_name     = p_file.
 
START-OF-SELECTION.
 
  PERFORM upload_file USING p_file.
 
*" Populating data....................................................
*"--------------------------------------------------------------------*
 
  LOOP AT t_tab INTO fs_tab.
 
    fs_char-charact_name = fs_tab-charact_name.
    fs_char-data_type = fs_tab-data_type.
    fs_char-length = fs_tab-length.
    fs_char-status = fs_tab-status.
    fs_char-value_assignment = fs_tab-value_assignment.
 
    fs_chardes-language_int = fs_tab-language_int.
    fs_chardes-description = fs_tab-desc.
 
    fs_charvalue-language_int = fs_tab-langu.
    fs_charvalue-value_char = fs_tab-value_char.
    fs_charvalue-description = fs_tab-description.
    fs_charv-value_char = fs_tab-value_char1.
 
    CALL FUNCTION 'BAPI_CHARACT_CREATE'
      EXPORTING
        charactdetail      = fs_char
      TABLES
        charactdescr       = t_chardes
        charactvalueschar  = t_charv
        charactvaluesdescr = t_charvalue
        return             = t_return.
    LOOP AT t_return INTO fs_return.
      WRITE:/ fs_return-type,
              fs_return-id,
              fs_return-number,
              fs_return-message.
    ENDLOOP.
 
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  UPLOAD_FILE
*&--------------------------------------------------------------------*
*       Uploading file from presentation server.
*----------------------------------------------------------------------*
*    Interface Paraemeter passed is p_file
*----------------------------------------------------------------------*
FORM upload_file  USING   p_file.
 
  DATA: lw_file TYPE string.
  lw_file = p_file.
 
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename                = lw_file
      has_field_separator     = 'X'
    TABLES
      data_tab                = t_tab
    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.
 
ENDFORM.                    " UPLOAD_FILE
0 0
原创粉丝点击