Professional Documents
Culture Documents
CDS View Used in Select + Subquery
CDS View Used in Select + Subquery
CDS View Used in Select + Subquery
SELECT
report_type,
request_number,
dependent_id,
dependent_name,
personnel_number,
quota_type,
quota_number,
request_status,
amount,
error " Posting Error Message
FROM
zhr_lock_data
INTO CORRESPONDING FIELDS OF TABLE @i_lock
WHERE request_status IN @s_sts.
ENDFORM.
FORM display_report.
*Local Data Declarations
DATA: lwa_layout TYPE slis_layout_alv.
CONSTANTS: lc_a TYPE char1 VALUE 'A'. " A of type CHAR1
lwa_layout-colwidth_optimize = abap_true.
lwa_layout-zebra = abap_true.
PERFORM field_catalog.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FIELD_CATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM field_catalog_build USING fp_tabname TYPE slis_tabname
fp_fieldname TYPE slis_fieldname
fp_seltext_l TYPE char100. " Seltext_l of type
CHAR100.
CLEAR lwa_fld.
lwa_fld-tabname = fp_tabname.
lwa_fld-fieldname = fp_fieldname.
lwa_fld-seltext_l = fp_seltext_l.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FIELD_CATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM field_catalog .
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FETCH_ADMIN
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fetch_admin .
CONSTANTS : lc_pad TYPE char3 VALUE 'PAD', " Pad of type CHAR3
lc_email TYPE char1 VALUE 'E', " Email of type CHAR1
lc_target TYPE char2 VALUE 'TO', " Target of type CHAR2
lc_subty TYPE char4 VALUE '0010'. " Subty of type CHAR4
SORT li_email.
DELETE ADJACENT DUPLICATES FROM li_email.
lwa_recipient-recipient_type = lc_email.
lwa_recipient-recipient_target = lc_target.
lwa_recipient-recipient = <lfs_email>-usrid_long.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SEND_EMAIL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM send_email .
*=========================================================
*Read email Subject from SO10 text
*=========================================================
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = lc_st_id " ST
language = sy-langu
name = lc_sub
object = lc_st_obj "TEXT
TABLES
lines = li_lines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc = 0.
LOOP AT li_lines ASSIGNING <lfs_lines>.
CONCATENATE <lfs_lines>-tdline sy-datum sy-uzeit
INTO l_subject
SEPARATED BY space.
ENDLOOP. " LOOP AT li_lines ASSIGNING <lfs_lines>
ENDIF. " IF sy-subrc = 0
CLEAR li_lines[].
*=========================================================
*Read email Body from SO10 text
*=========================================================
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = lc_st_id " ST
language = sy-langu
name = lc_body
object = lc_st_obj "TEXT
TABLES
lines = li_lines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc = 0.
LOOP AT li_lines ASSIGNING <lfs_lines>.
lwa_body = <lfs_lines>-tdline.
APPEND lwa_body TO li_body.
CLEAR lwa_body.
ENDLOOP. " LOOP AT li_lines ASSIGNING <lfs_lines>
ENDIF. " IF sy-subrc = 0
*=========================================================
* Create Attachment - Log
*=========================================================
PERFORM set_header CHANGING lwa_str-line.
CLEAR : lc_quota,
lc_amount.
lc_quota = <lfs_lock>-quota_number.
lc_amount = <lfs_lock>-amount.
CONCATENATE <lfs_lock>-report_type
<lfs_lock>-request_number
<lfs_lock>-dependent_id
<lfs_lock>-dependent_name
<lfs_lock>-personnel_number
<lfs_lock>-quota_type
lc_quota
<lfs_lock>-request_status
lc_amount
<lfs_lock>-error
INTO lwa_str-line SEPARATED BY cl_abap_char_utilities=>horizontal_tab.
*===========================================================
* Set Sender
*===========================================================
l_sender = sy-uname.
*===========================================================
* Set Email
*===========================================================
IF sy-subrc IS INITIAL.
COMMIT WORK.
ENDIF. " IF sy-subrc IS INITIAL
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_LWA_STR_LINE text
*----------------------------------------------------------------------*
FORM set_header CHANGING p_string.
CONCATENATE
'REPORT_TYPE'(002)
'REQUEST_NUMBER'(003)
'DEPENDENT_ID'(004)
'DEPENDENT_NAME'(005)
'PERSONNEL_NUMBER'(006)
'QUOTA_TYPE'(007)
'QUOTA_NUMBER'(008)
'REQUEST_STATUS'(009)
'AMOUNT'(010)
'ERROR'(011)
INTO p_string SEPARATED BY cl_abap_char_utilities=>horizontal_tab.
ENDFORM.