Tuesday, May 21, 2013

Display employee picture in an adobe form report



Hi,

I want to show the process to display employee picture in an adobe form report which upload from t-code OAAD.

Step 1: Call FM 'BAPI_EMPLOYEE_GETDATA' to get Archive Link ID and Archive Link Document ID.

 CALL FUNCTION 'BAPI_EMPLOYEE_GETDATA'
 EXPORTING
   employee_id            = p_pernr

   date                   = sy-datum
*   EXTENSION              =
*   READDB                 = FALSE
*   ORGTXT_LG              =
*   JOBTXT_LG              =
*   POSTXT_LG              =
*   AUTHORITY_CHECK        = 'X'
* IMPORTING
*   RETURN                 =
 TABLES
   org_assignment         = org_assignment
   personal_data          = personal_data
   internal_control       = internal_control
   communication          = communication
   archivelink            = archivelink.

Step 2: User can upload more than one picture so I took the latest one.


SORT archivelink BY ar_date DESCENDING.
READ TABLE archivelink INTO wa_archivelink INDEX 1



Step 3: Call FM 'SCMS_R3DB_IMPORT' and pass Archive Link ID and Archive Link Document ID to get binary document contents.

CALL FUNCTION 'SCMS_R3DB_IMPORT'
  EXPORTING
    mandt        = sy-mandt
    crep_id      = wa_archivelink-archiv_id
    doc_id       = wa_archivelink-arc_doc_id
  TABLES
    content_info = lt_content_info
    content_txt  = lt_content_txt
    content_bin  = lt_content_bin
  EXCEPTIONS
    error_import = 1
    error_config = 2
    OTHERS       = 3.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.



Step 4: Now call FM 'SCMS_BINARY_TO_XSTRING' the XSTRING value.



READ TABLE lt_content_info INTO lw_file_info INDEX 1.

IF sy-subrc IS INITIAL.
  l_fl = lw_file_info-first_line.
  l_ll = lw_file_info-last_line.
  l_fs = lw_file_info-comp_size.

  CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
    EXPORTING
      input_length = l_fs
      first_line   = l_fl
      last_line    = l_ll
    IMPORTING
      buffer       = l_url
    TABLES
      binary_tab   = lt_content_bin
    EXCEPTIONS
      failed       = 1
      OTHERS       = 2.

ENDIF.

Step 5: Append your value to the internal table.

Now go to your Adobe forms.

    Add Graphic in the table.
    Change the property Graphic Type as Graphic Content.
    In Field use your XSTRING field.
    Set MIME Type as 'JPG/BMP'.

Monday, May 20, 2013

BAPI for HCM Employee age calculation


CALL FUNCTION 'HR_AUPBS_AGE'
  EXPORTING
    pernr                  = p_pernr
    bsdte                  = sy-datum
*   REACTION               = ' '
 IMPORTING
   value                  = value
* EXCEPTIONS
*   RECORD_NOT_FOUND       = 1
*   OTHERS                 = 2
          .
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

Saturday, May 18, 2013

BAPI for HCM Employee information

DATA: org_assignment TYPE STANDARD TABLE OF  bapip0001b,
      personal_data TYPE STANDARD TABLE OF  bapip0002b,
      internal_control  TYPE STANDARD TABLE OF  bapip0032b,
      communication TYPE STANDARD TABLE OF  bapip0105b,
      archivelink TYPE STANDARD TABLE OF  bapitoav0,
      wa_org_assignment  LIKE  bapip0001b,
      wa_personal_data TYPE  bapip0002b,
      wa_internal_control  LIKE  bapip0032b,
      wa_communication LIKE  bapip0105b,
      wa_archivelink LIKE  bapitoav0.

CALL FUNCTION 'BAPI_EMPLOYEE_GETDATA'
 EXPORTING
   employee_id            = p_pernr    "Personnel No
*   LASTNAME_M             =
*   FSTNAME_M              =
*   FST_NAME_K             =
*   LST_NAME_K             =
*   FST_NAME_R             =
*   LST_NAME_R             =
*   ORGTXT                 =
*   JOBTXT                 =
*   POSTXT                 =
*   COSTCENTER             =
*   BLDING_NO              =
*   ROOM_NO                =
*   PHONE_NO               =
*   LIPLATE_NO             =
*   USERID                 =
   date                   = sy-datum
*   EXTENSION              =
*   READDB                 = FALSE
*   ORGTXT_LG              =
*   JOBTXT_LG              =
*   POSTXT_LG              =
*   AUTHORITY_CHECK        = 'X'
* IMPORTING
*   RETURN                 =
 TABLES
   org_assignment         =  org_assignment
   personal_data          =   personal_data
   internal_control       =   internal_control
   communication          = communication
   archivelink            =  archivelink.

Sunday, May 12, 2013

How to insert background image in Smartforms?

To insert background image in Smartforms please follow the below steps:

1. Double click on your Page under 'Pages and Windows'
2. Click on the 3rd tab 'Background Picture'
3. Mention all the details of image which you want to insert in Smartforms background.


Saturday, May 4, 2013

BAPI for Vendor Account Statement for a given Period

To get any vendor line items at a given period use BAPI 'BAPI_AP_ACC_GETSTATEMENT'
 
CALL FUNCTION 'BAPI_AP_ACC_GETSTATEMENT'
    EXPORTING
      companycode       = p_bukrs
      vendor            = p_lifnr            "Vendor
      date_from         = so_budat-low       "Date from
      date_to           = so_budat-high      "Date to
*   NOTEDITEMS        = ' '
* IMPORTING
*   RETURN            =
    TABLES
      lineitems         = i_bapi3008_2 .

BAPI for Vendor account balance at a key date

Use 'BAPI_AP_ACC_GETKEYDATEBALANCE' to get closing balance of a keydate.
 CALL FUNCTION 'BAPI_AP_ACC_GETKEYDATEBALANCE'
    EXPORTING
      companycode      = p_bukrs 
      vendor           = p_lifnr
      keydate          = v_date
*   BALANCESPGLI       = ' '
*   NOTEDITEMS         = ' '
* IMPORTING
*   RETURN             =
    TABLES
      keybalance         = i_bapi3008_3 .

BAPI for Customer account statement for a given period

To get any customer line items at a given period use the BAPI. 
 CALL FUNCTION 'BAPI_AR_ACC_GETSTATEMENT'
    EXPORTING
      companycode       = p_bukrs
      customer          = p_kunnr
      date_from         = so_budat-low       "from_date
      date_to           = so_budat-high      "to_date
*   NOTEDITEMS        = ' '
* IMPORTING
*   RETURN            =
    TABLES
      lineitems         = i_bapi3007_2 .


How to disable print option in smartforms?

To disable print option change parameter ssfcompop-tdnoprint. User will only able to view the samrtforms.

 DATA: t_ssfcompop TYPE ssfcompop.

       t_ssfcompop-tdnoprint = 'X'.
       t_ssfcompop-tdnoarch  = ' '.
       t_ssfcompop-tdnoprev = ' ' .

  CALL FUNCTION fm_name
    EXPORTING
      output_options     = t_ssfcompop
      p_bukrs            = p_bukrs
      p_kunnr            = p_kunnr
    TABLES
      it_final           = it_final
      so_budat           = so_budat
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

Thursday, May 2, 2013

BAPI for Customer account balance at a key date


To get any customer account balance at any date use the BAPI. You can get opening or closing balance of any customer using this.


CALL FUNCTION 'BAPI_AR_ACC_GETKEYDATEBALANCE'
    EXPORTING
      companycode        = p_bukrs      "Company Code
      customer           = p_kunnr      "Customer Code
      keydate            = v_date       "Date
*   BALANCESPGLI       = ' '
*   NOTEDITEMS         = ' '
* IMPORTING
*   RETURN             =
    TABLES
      keybalance         = i_bapi3007_3 .

 
UA-40152711-1