20210502 - List of Value (LOV) 고정 방식이 아닌 변수를 통한 Dynamic Value를 가져올 수 있도록 처리

모델링에 따라 코드 테이블을 여러 개로 나누어서 관리하기도 하고 통합 코드 테이블을 두어서 구분자 변수를 통해 가져오는 방식으로 처리하기도 하는데 그 때 활용하는 LOV 방법 설명.


1. Shared Component 에 등록 : where 조건에 바인드 변수 설정(:CDM_LOV_ITEM)



2. Cascading List of Values : 가상으로 생성한 아이템 CDM_LOV_ITEM을 Parent Item 으로 지정

CDM_LOV_ITEM에는 구분자 변수값 '11'이 기본 값으로 설정되어 있음


Page Item : CDM_LOV_ITEM

Type : Hidden

Default Type : Static

Static Value : 11


3. 구분자 변수 '11' 을 조회하며 국가번호가 List 로 조회됨.



바인드 변수에 대한 활용법 참고

20210502 - IG Interactive Grid - 각 Row에 버튼 생성하고 PL/SQL로 프로세싱(2)

지난 포스트에서 완료하지 못한 HTML 형식의 버튼을 구현하였고 버튼 클릭 이벤트에서 PL/SQL 처리를 하였음.




1) SQL문 내에서 버튼에 대한 HTML 생성

(앞선 APEX 전문가 의견대로 하지 않은 이유는 조건에 따라서 버튼이 보이고/안보이게 하는 조정을 SQL내에서 먼저 구현하기 위함) 

select ID,
       STORE_NM,
       STORE_TYPE_STR,
       OWNER_NM,
       PHONE1_COUNTRY_NO, PHONE1,
       PHONE2_COUNTRY_NO, PHONE2,
       EMAIL,
       REQ_YN,
       case APR_YN
         when 'Y' then '<span style="text-align=center">처리완료</span>'
         else '<button class="APRButtonX t-Button t-Button--default t-Button--hot t-Button--stretch" 
               id='||ID||' type="button"><span class="t-Button-label">승인처리</span></button>'
       end APR_YN,
       AUTH_METHOD
  from WO_STORE_REQ


2) 컬럼 Type을 HTML Expression >> &APR_YN. (마침표까지)



3) DA Dynamic Action 클릭 이벤트 생성

 - Event : Click

 - Selection Type : jQuery Selector

 - jQuery Selector : .APRButtonX (SQL의 HTML에서 작성한 버튼 클래스)




4) DA True 이벤트 Action

 4-1) Confirm : 승인 처리하시겠습니까?

 4-2) Execute JavaScript Code : IG 변경 사항 체크

if (apex.page.isChanged())
{
  apex.message.alert("변경 사항을 먼저 저장하십시오");
  return false;
}

 4-3) Set Value : JavaScript Expression : IG 에서 해당 Row PK 값을 읽어 (SQL의 HTML에서 이미 작성된) IG 외부의 아이템 P5_DATAPK 에 값을 셋팅 (이 PK 값을 PL/SQL 처리시 활용)


 4-4) Execute Server-side Code : PL/SQL 처리


 4-5) Refresh : 처리된 해당 리전 Refresh


 4-6) Clear : 처리시 활용된 PK 값은 Clear



처리를 완료하면 '처리필요' 버튼이 '처리완료' 텍스트로 변경됨.


20210502.

20250202 - IG 다운로드 버튼 바로 보이기

JS initialization Code : function (config) {     var $ = apex.jQuery,         toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),  ...