FUNCTION zpp_routing_comp_allocation.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IV_PLNTY) TYPE PLNTY DEFAULT 'N'
*" REFERENCE(IV_WERKS) TYPE WERKS_D
*" REFERENCE(IV_MATNR) TYPE MATNR
*" REFERENCE(IV_PLNAL) TYPE PLNAL
*" REFERENCE(IV_DATUV) TYPE DATUV DEFAULT SY-DATUM
*" REFERENCE(IV_CAPID) TYPE CAPID DEFAULT 'PP01'
*" REFERENCE(IV_STLAN) TYPE STLAN DEFAULT '1'
*" REFERENCE(IV_STLAL) TYPE STLAL
*" REFERENCE(IV_VERID) TYPE VERID OPTIONAL
*" REFERENCE(IV_RELOAD) TYPE BOOLEAN_FLG DEFAULT 'X'
*" EXPORTING
*" REFERENCE(EV_SUBRC) TYPE SY-SUBRC
*" REFERENCE(EV_MSGTXT) TYPE ZDK_MSGTXT
*"----------------------------------------------------------------------
TYPES: BEGIN OF lty_s_stpf,
stlty_w LIKE stpf-stlty_w,
stlnr_w LIKE stpf-stlnr_w,
stlal_w LIKE stpf-stlal_w,
kante_k LIKE stpf-kante_k,
stlty LIKE stpf-stlty,
stlnr LIKE stpf-stlnr,
stlal LIKE stpf-stlal,
stvkn LIKE stpf-stvkn,
END OF lty_s_stpf.
TYPES: lty_t_stpf TYPE TABLE OF lty_s_stpf
WITH DEFAULT KEY.
DATA: lv_plnnr TYPE mapl-plnnr.
DATA: lv_subrc TYPE sy-subrc.
DATA: lv_plnfl TYPE plas-plnfl.
DATA: lv_oprid TYPE oprid.
DATA: lv_tabix TYPE sy-tabix.
DATA: ls_topmat TYPE cstmat.
DATA: lt_stpf TYPE lty_t_stpf WITH HEADER LINE.
DATA: lt_vornr TYPE zpp_t_oprid WITH HEADER LINE.
DATA: ls_task_id TYPE cpcl_tsk_ident_type.
DATA: lt_alloc TYPE cpt_task_list_maint_com.
DATA: lt_allocx TYPE cpt_task_list_maint_com_x.
DATA: ls_alloc LIKE LINE OF lt_alloc.
DATA: ls_allocx LIKE LINE OF lt_allocx.
DATA: lt_return TYPE bapiret2_t WITH HEADER LINE.
DATA: lt_tree TYPE TABLE OF itm_tree_class_data
WITH HEADER LINE.
CLEAR: ev_subrc, ev_msgtxt.
CALL FUNCTION 'ZPP_ROUTING_GET_PLNNR'
EXPORTING
iv_werks = iv_werks
iv_matnr = iv_matnr
IMPORTING
ev_plnnr = lv_plnnr.
CALL FUNCTION 'ZPP_ROUTING_ALLOC_DELETE'
EXPORTING
iv_werks = iv_werks
iv_matnr = iv_matnr
iv_plnty = iv_plnty
iv_plnnr = lv_plnnr
iv_plnal = iv_plnal
iv_datuv = iv_datuv
iv_reload = 'X'
IMPORTING
ev_subrc = lv_subrc
ev_msgtxt = ev_msgtxt.
IF lv_subrc IS NOT INITIAL.
ev_subrc = lv_subrc.
ENDIF.
IF ev_subrc IS INITIAL.
IF iv_reload IS NOT INITIAL.
CALL FUNCTION 'ZPP_ROUTING_RELOAD'
EXPORTING
iv_plnty = iv_plnty
iv_werks = iv_werks
iv_matnr = iv_matnr
iv_datuv = iv_datuv
IMPORTING
ev_subrc = lv_subrc
ev_plnnr = lv_plnnr.
IF lv_subrc IS NOT INITIAL.
ev_subrc = 1.
ev_msgtxt = 'Reload failed. for allocation'.
EXIT.
ENDIF.
ENDIF.
CHECK lv_plnnr IS NOT INITIAL.
ls_task_id-plnty = iv_plnty.
ls_task_id-plnnr = lv_plnnr.
ls_task_id-plnal = iv_plnal.
CALL FUNCTION 'ZPP_ROUTING_READ_OPRID'
EXPORTING
is_task = ls_task_id
IMPORTING
ev_subrc = ev_subrc
ev_msgtxt = ev_msgtxt
et_vornr = lt_vornr[].
IF ev_subrc IS NOT INITIAL.
EXIT.
ENDIF.
ENDIF.
*--- Set components
IF ev_subrc IS INITIAL.
PERFORM set_routing_comp_for_create USING iv_datuv
iv_matnr
iv_werks
iv_verid
iv_stlan
iv_stlal
ls_task_id
CHANGING ev_subrc
ev_msgtxt
lt_vornr[]
lt_alloc[].
IF lt_alloc[] IS INITIAL.
ev_subrc = gc_data_error.
ev_msgtxt = 'Allocation data is invalid.'.
ELSE.
CALL FUNCTION 'CPCC_P_TASK_LIST_MAINT_COM'
EXPORTING
is_task_id = ls_task_id
iv_key_date = iv_datuv
it_comp_alloc = lt_alloc[]
it_comp_alloc_x = lt_allocx[]
iv_application = iv_capid
iv_bom_usage = iv_stlan
CHANGING
ct_return = lt_return[].
LOOP AT lt_return.
CASE lt_return-type.
WHEN 'E' OR 'A'.
lv_tabix = sy-tabix.
EXIT.
ENDCASE.
ENDLOOP.
IF lv_tabix IS NOT INITIAL.
READ TABLE lt_return INDEX lv_tabix.
ev_subrc = 1.
ev_msgtxt = lt_return-message.
ROLLBACK WORK.
ELSE.
CALL FUNCTION 'CP_CC_S_SAVE'
EXCEPTIONS
error_at_save = 1
OTHERS = 2.
ev_subrc = sy-subrc.
IF sy-subrc EQ 0.
ev_msgtxt = 'Component allocation adjusted.'.
COMMIT WORK.
ELSE.
ev_msgtxt = 'Error Occurred.'.
ROLLBACK WORK.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
LOOP AT lt_vornr.
lv_oprid = lt_vornr-plnkn.
CALL FUNCTION 'CP_CL_OPR_UNLOCK'
EXPORTING
plnty = ls_task_id-plnty
plnnr = ls_task_id-plnnr
ident = lv_oprid
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDLOOP.
ENDFUNCTION.
FUNCTION zpp_routing_get_plnnr.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IV_WERKS) TYPE WERKS_D
*" REFERENCE(IV_MATNR) TYPE MATNR
*" EXPORTING
*" REFERENCE(EV_PLNNR) TYPE PLNNR
*"----------------------------------------------------------------------
CLEAR: ev_plnnr.
SELECT SINGLE plnnr
INTO ev_plnnr
FROM mapl
WHERE werks = iv_werks
AND matnr = iv_matnr.
ENDFUNCTION.
FUNCTION zpp_routing_alloc_delete .
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IV_WERKS) TYPE WERKS_D
*" REFERENCE(IV_MATNR) TYPE MATNR
*" REFERENCE(IV_PLNTY) TYPE PLNTY DEFAULT 'N'
*" REFERENCE(IV_PLNNR) TYPE PLNNR
*" REFERENCE(IV_PLNAL) TYPE PLNAL
*" REFERENCE(IV_DATUV) TYPE DATUV DEFAULT SY-DATUM
*" REFERENCE(IV_CAPID) TYPE CAPID DEFAULT 'PP01'
*" REFERENCE(IV_STLAN) TYPE STLAN DEFAULT '1'
*" REFERENCE(IV_RELOAD) TYPE BOOLEAN_FLG DEFAULT 'X'
*" EXPORTING
*" REFERENCE(EV_SUBRC) TYPE SY-SUBRC
*" REFERENCE(EV_MSGTXT) TYPE ZDK_MSGTXT
*"----------------------------------------------------------------------
DATA: lv_tabix TYPE sy-tabix.
DATA: lv_datuv TYPE datuv.
DATA: lv_vornr TYPE plpo-vornr.
DATA: lt_plmz TYPE gty_t_plmz WITH HEADER LINE.
DATA: ls_task_id TYPE cpcl_tsk_ident_type.
DATA: lt_alloc TYPE cpt_task_list_maint_com.
DATA: lt_allocx TYPE cpt_task_list_maint_com_x.
DATA: ls_alloc LIKE LINE OF lt_alloc.
DATA: ls_allocx LIKE LINE OF lt_allocx.
DATA: lt_return TYPE bapiret2_t WITH HEADER LINE.
SELECT z~plnnr z~plnal z~plnfl z~plnkn
p~vornr
z~stlty z~stlnr z~stlal z~stlkn
z~stlty_w
z~stlnr_w
z~stlal_w
m~werks
m~matnr
z~stlst
z~kante
z~datuv
INTO CORRESPONDING FIELDS OF TABLE lt_plmz
FROM plmz AS z
JOIN plpo AS p
ON p~plnty = z~plnty
AND p~plnnr = z~plnnr
AND p~plnkn = z~plnkn
JOIN mast AS m
ON m~stlan = gc_stlan
AND m~stlnr = z~stlnr
AND m~stlal = z~stlal
WHERE z~plnty = iv_plnty
AND z~plnnr = iv_plnnr
AND z~plnal = iv_plnal
AND z~loekz = ' '
AND z~datuv <= iv_datuv.
CHECK sy-subrc IS INITIAL.
SORT lt_plmz BY stlnr stlal stlkn.
IF iv_reload IS NOT INITIAL.
READ TABLE lt_plmz INDEX 1.
lv_datuv = lt_plmz-datuv.
CALL FUNCTION 'ZPP_ROUTING_RELOAD'
EXPORTING
iv_plnnr = iv_plnnr
iv_datuv = lv_datuv
iv_datub = lv_datuv
IMPORTING
ev_subrc = ev_subrc.
IF ev_subrc IS NOT INITIAL.
ev_msgtxt = 'Reload failed.'.
EXIT.
ENDIF.
ENDIF.
ls_task_id-plnty = iv_plnty.
ls_task_id-plnnr = iv_plnnr.
ls_task_id-plnal = iv_plnal.
*--- Set components
PERFORM set_routing_comp_for_delete USING lv_datuv
iv_matnr
iv_werks
iv_stlan
lt_plmz[]
CHANGING lt_alloc[].
IF lt_alloc[] IS NOT INITIAL.
CALL FUNCTION 'CPCC_P_TASK_LIST_MAINT_COM'
EXPORTING
is_task_id = ls_task_id
iv_key_date = lv_datuv
it_comp_alloc = lt_alloc[]
it_comp_alloc_x = lt_allocx[]
iv_application = iv_capid
iv_bom_usage = iv_stlan
CHANGING
ct_return = lt_return[].
LOOP AT lt_return.
CASE lt_return-type.
WHEN 'E' OR 'A'.
lv_tabix = sy-tabix.
EXIT.
ENDCASE.
ENDLOOP.
IF lv_tabix IS NOT INITIAL.
READ TABLE lt_return INDEX lv_tabix.
ev_msgtxt = lt_return-message.
ev_subrc = 1.
ROLLBACK WORK.
ELSE.
CALL FUNCTION 'CP_CC_S_SAVE'
EXCEPTIONS
error_at_save = 1
OTHERS = 2.
ev_subrc = sy-subrc.
IF sy-subrc EQ 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
ENDIF.
ENDIF.
ENDIF.
ENDFUNCTION.
FUNCTION zpp_routing_reload.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IV_PLNTY) TYPE PLNTY DEFAULT 'N'
*" REFERENCE(IV_PLNNR) TYPE PLNNR OPTIONAL
*" REFERENCE(IR_PLNNR) TYPE ZPP_R_PLNNR OPTIONAL
*" REFERENCE(IV_OPRID) TYPE OPRID OPTIONAL
*" REFERENCE(IV_VORNR) TYPE VORNR OPTIONAL
*" VALUE(IV_WERKS) TYPE WERKS_D OPTIONAL
*" VALUE(IV_MATNR) TYPE MATNR OPTIONAL
*" REFERENCE(IV_DATUV) TYPE DATUV OPTIONAL
*" REFERENCE(IV_DATUB) TYPE DATUB OPTIONAL
*" EXPORTING
*" REFERENCE(EV_SUBRC) TYPE SY-SUBRC
*" REFERENCE(EV_PLNNR) TYPE PLNNR
*"----------------------------------------------------------------------
DATA: lv_datuv TYPE datum.
DATA: lv_datub TYPE datum.
DATA: ls_cl_workarea TYPE classes_in_workarea.
DATA: ls_plnty TYPE cpsc_plnty_type.
DATA: ls_plnnr TYPE cpsc_plnnr_type.
DATA: ls_plnal TYPE cpsc_plnal_type.
DATA: ls_ident TYPE cpsc_ident_type.
DATA: ls_vornr TYPE cpsc_vornr_type.
DATA: ls_tsk_sel TYPE cpsc_tsk_sel_type.
DATA: ls_opr_sel TYPE cpsc_opr_sel_type.
DATA: lt_rsdswhere TYPE rsds_twhere WITH HEADER LINE.
DATA: lt_where TYPE TABLE OF rsdswhere WITH HEADER LINE.
ls_plnty-sign = 'I'.
ls_plnty-option = 'EQ'.
ls_plnty-low = iv_plnty.
APPEND ls_plnty TO ls_tsk_sel-plnty.
IF ir_plnnr[] IS NOT INITIAL.
APPEND LINES OF ir_plnnr TO ls_tsk_sel-plnnr.
ELSE.
IF iv_plnnr IS INITIAL
AND iv_werks IS NOT INITIAL
AND iv_matnr IS NOT INITIAL.
CALL FUNCTION 'ZPP_ROUTING_GET_PLNNR'
EXPORTING
iv_werks = iv_werks
iv_matnr = iv_matnr
IMPORTING
ev_plnnr = ev_plnnr.
IF ev_plnnr IS INITIAL.
EXIT.
ENDIF.
ls_plnnr-sign = 'I'.
ls_plnnr-option = 'EQ'.
ls_plnnr-low = ev_plnnr.
APPEND ls_plnnr TO ls_tsk_sel-plnnr.
ELSE.
IF iv_plnnr IS NOT INITIAL.
ls_plnnr-sign = 'I'.
ls_plnnr-option = 'EQ'.
ls_plnnr-low = iv_plnnr.
APPEND ls_plnnr TO ls_tsk_sel-plnnr.
ENDIF.
ENDIF.
ENDIF.
IF iv_oprid IS NOT INITIAL
AND iv_vornr IS NOT INITIAL.
ls_ident-sign = 'I'.
ls_ident-option = 'EQ'.
ls_ident-low = iv_oprid.
APPEND ls_ident TO ls_opr_sel-ident.
ls_vornr-sign = 'I'.
ls_vornr-option = 'EQ'.
ls_vornr-low = iv_vornr.
APPEND ls_vornr TO ls_opr_sel-vornr.
IF iv_plnnr IS NOT INITIAL.
CONCATENATE `plnnr = '` iv_plnnr `'` INTO lt_where.
APPEND lt_where.
ENDIF.
lt_rsdswhere-tablename = 'PLPO'.
lt_rsdswhere-where_tab = lt_where[].
APPEND lt_rsdswhere.
ls_opr_sel-free_where[] = lt_rsdswhere[].
ENDIF.
CHECK ls_tsk_sel-plnnr[] IS NOT INITIAL.
ls_cl_workarea-mtk_inarea = 'X'.
ls_cl_workarea-tsk_inarea = 'X'.
ls_cl_workarea-seq_inarea = 'X'.
ls_cl_workarea-opr_inarea = 'X'.
ls_cl_workarea-suo_inarea = 'X'.
ls_cl_workarea-prt_inarea = 'X'.
ls_cl_workarea-com_inarea = 'X'.
ls_cl_workarea-itm_inarea = 'X'.
ls_cl_workarea-bom_inarea = 'X'.
IF iv_datuv IS INITIAL.
lv_datuv = '19000101'.
ELSE.
lv_datuv = iv_datuv.
ENDIF.
IF iv_datub IS INITIAL.
lv_datub = gc_datub_max.
ELSE.
lv_datub = iv_datub.
ENDIF.
CALL FUNCTION 'CP_CC_S_LOAD_COMPLEX_BY_TSK'
EXPORTING
i_class = gc_t410_class
i_classes_in_workarea = ls_cl_workarea
i_cpsc_tsk_sel = ls_tsk_sel
i_cpsc_opr_sel = ls_opr_sel
i_date_from = lv_datuv
i_date_to = lv_datub
EXCEPTIONS
workarea_not_found = 1
class_wrong_type = 2
workarea_wrong_type = 3
class_in_workarea_inconsistent = 4
workarea_not_specified = 5
tsk_not_found = 6
no_selection_criteria = 7
invalid_selection_period = 8
key_date_required_for_ecm = 9
OTHERS = 10.
IF sy-subrc <> 0.
ev_subrc = sy-subrc.
ENDIF.
ENDFUNCTION.
FUNCTION zpp_routing_read_oprid.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IS_TASK) TYPE CPCL_TSK_IDENT_TYPE
*" EXPORTING
*" REFERENCE(EV_SUBRC) TYPE SY-SUBRC
*" REFERENCE(EV_MSGTXT) TYPE ZDK_MSGTXT
*" REFERENCE(ET_VORNR) TYPE ZPP_T_OPRID
*"----------------------------------------------------------------------
SELECT p~vornr p~plnkn
INTO CORRESPONDING FIELDS OF TABLE et_vornr
FROM plas AS s
JOIN plpo AS p
ON p~plnty = s~plnty
AND p~plnnr = s~plnnr
AND p~plnkn = s~plnkn
WHERE s~plnty = is_task-plnty
AND s~plnnr = is_task-plnnr
AND s~plnal = is_task-plnal.
IF sy-subrc IS INITIAL.
SORT et_vornr BY vornr.
ELSE.
ev_subrc = 1.
ev_msgtxt = 'Routing does not exist.'.
EXIT.
ENDIF.
ENDFUNCTION.
*----------------------------------------------------------------------*
***INCLUDE LZPP_ROUTINGF01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form set_routing_comp_for_delete
*&---------------------------------------------------------------------*
FORM set_routing_comp_for_delete
USING pv_datuv
pv_matnr
pv_werks
pv_stlan
pt_plmz TYPE gty_t_plmz
CHANGING pt_alloc TYPE cpt_task_list_maint_com.
DATA: ls_alloc LIKE LINE OF pt_alloc.
DATA: ls_plmz LIKE LINE OF pt_plmz.
DATA: lt_tree TYPE gty_t_itm_tree WITH HEADER LINE.
CLEAR: pt_alloc[].
CHECK pt_plmz[] IS NOT INITIAL.
READ TABLE pt_plmz INTO ls_plmz INDEX 1.
CALL FUNCTION 'CP_CC_S_PROVIDE_ITM_BY_PATH'
EXPORTING
i_key_date_s = pv_datuv
i_application = gc_app_capid
i_material_root = pv_matnr
i_plant_root = pv_werks
i_usage_root = pv_stlan
i_alternative_root = ls_plmz-stlal_w
i_flg_path_expand_totally = 'X'
TABLES
c_itm_tree_class_data = lt_tree[].
CHECK lt_tree[] IS NOT INITIAL.
LOOP AT lt_tree.
ls_alloc-maintain_mode = gc_maint_delete.
READ TABLE pt_plmz INTO ls_plmz
WITH KEY stlnr = lt_tree-stlnr
stlal = lt_tree-stlal
stlkn = lt_tree-stlkn
BINARY SEARCH.
IF sy-subrc IS INITIAL.
ls_alloc-operation_id = ls_plmz-plnkn.
ls_alloc-activity = ls_plmz-vornr.
ls_alloc-sequence_no = ls_plmz-plnfl.
ELSE.
CONTINUE.
ENDIF.
ls_alloc-bom_type = lt_tree-stlty.
ls_alloc-bom_no = lt_tree-stlnr.
ls_alloc-alternative_bom = lt_tree-stlal.
ls_alloc-item_id = lt_tree-stvkn.
ls_alloc-item_no = lt_tree-posnr.
ls_alloc-plant = pv_werks.
ls_alloc-material = pv_matnr.
ls_alloc-comp_qty = lt_tree-menge.
ls_alloc-comp_unit = lt_tree-meins.
ls_alloc-bom_type_root = lt_tree-stlty_w.
ls_alloc-bom_no_root = lt_tree-stlnr_w.
ls_alloc-alternative_bom_root = lt_tree-stlal_w.
ls_alloc-path = lt_tree-kante_k.
ls_alloc-order_lvl = lt_tree-stufe_k.
APPEND ls_alloc TO pt_alloc.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form set_routing_comp_for_create
*&---------------------------------------------------------------------*
FORM set_routing_comp_for_create
USING pv_datuv
pv_matnr
pv_werks
pv_verid
pv_stlan
pv_stlal
ps_task_id TYPE cpcl_tsk_ident_type
CHANGING pv_subrc
pb_msgtxt
pt_vornr TYPE zpp_t_oprid
pt_alloc TYPE cpt_task_list_maint_com.
CONSTANTS: lc_vornr TYPE vornr VALUE '0010'.
DATA: lv_vornr TYPE plpo-vornr.
DATA: ls_alloc LIKE LINE OF pt_alloc.
DATA: ls_vornr LIKE LINE OF pt_vornr.
DATA: lt_tree TYPE gty_t_itm_tree WITH HEADER LINE.
CLEAR: pt_alloc[].
CHECK pt_vornr[] IS NOT INITIAL.
CALL FUNCTION 'CP_CC_S_PROVIDE_ITM_BY_PATH'
EXPORTING
i_key_date_s = pv_datuv
i_application = gc_app_capid
i_material_root = pv_matnr
i_plant_root = pv_werks
i_usage_root = pv_stlan
i_alternative_root = pv_stlal
i_flg_path_expand_totally = 'X'
TABLES
c_itm_tree_class_data = lt_tree[].
CHECK lt_tree[] IS NOT INITIAL.
LOOP AT lt_tree.
ls_alloc-maintain_mode = gc_maint_create.
ls_alloc-sequence_no = gc_def_seq_no.
CALL FUNCTION 'ZPP_ADJUST_VORNR'
EXPORTING
iv_sortf = lt_tree-sortf
IMPORTING
ev_vornr = lv_vornr.
READ TABLE pt_vornr INTO ls_vornr
WITH KEY vornr = lv_vornr
BINARY SEARCH.
IF sy-subrc IS INITIAL.
ls_alloc-operation_id = ls_vornr-plnkn.
ls_alloc-activity = ls_vornr-vornr.
ELSE.
ls_alloc-activity = lc_vornr.
ENDIF.
ls_alloc-bom_type = lt_tree-stlty.
ls_alloc-bom_no = lt_tree-stlnr.
ls_alloc-alternative_bom = lt_tree-stlal.
ls_alloc-item_id = lt_tree-stvkn.
ls_alloc-item_no = lt_tree-posnr.
ls_alloc-plant = pv_werks.
ls_alloc-material = pv_matnr.
ls_alloc-comp_qty = lt_tree-menge.
ls_alloc-comp_unit = lt_tree-meins.
ls_alloc-bom_type_root = lt_tree-stlty_w.
ls_alloc-bom_no_root = lt_tree-stlnr_w.
ls_alloc-alternative_bom_root = lt_tree-stlal_w.
ls_alloc-path = lt_tree-kante_k.
ls_alloc-order_lvl = lt_tree-stufe_k.
APPEND ls_alloc TO pt_alloc.
ENDLOOP.
ENDFORM.
'SAP > ABAP' 카테고리의 다른 글
ALV shows 99 columns only (0) | 2023.10.23 |
---|---|
Proxy Error : Message.General (0) | 2022.08.03 |
Hana Error: cannot use duplicate index name (0) | 2022.08.03 |
ENQUEUE_READ (0) | 2022.06.24 |
SQL Editor for Hana ( Native ) (0) | 2022.06.09 |