External ๋ฐ์ดํฐ์์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ Apex Class๋ฅผ ๋จผ์ ์์ฑํด์ผ ํฉ๋๋ค. Package์์ ์ ๊ณตํ๋ SBLD.DataSourceService.Fetchable
์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ ค๋ Apex Class์ implements
ํ์ฌ ๊ตฌํํด์ผ ํฉ๋๋ค. SBLD.DataSourceService.Fetchable
ํด๋์ค์ execute()
๋ฉ์๋๋ฅผ ๊ตฌํํฉ๋๋ค.
SBLD.DataSourceService.Parameter
์์ gets()
๋ฉ์๋๋ฅผ ํตํด Line-Item Configurator์ Parent ๋๋ Lookup ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
Line-Item Configurator๋ก ๊ฒฐ๊ณผ๊ฐ์ ์ ๋ฌํ๊ธฐ ์ํด ์๋ ํด๋์ค๋ฅผ ์ด์ฉํฉ๋๋ค.
๋์(Lookup ๋๋ Line-Item)์ ํ๋ง๋ค Action์ ์ง์ ํฉ๋๋ค. Action์ ๋ฐ์ดํฐ์์ค ๊ฐ์ Lookup ๋๋ Line-Item ํ๋์ ๋งคํํ๋ ์์ ์ ๋๋ค.
setKeyValue(Object keyValue) Lookup ๋๋ Line-Item์ ๋์ ๋ ์ฝ๋๋ฅผ ์ฐพ๊ธฐ ์ํ Key๊ฐ์ ์ค์ ํฉ๋๋ค.
putSourceToTargetField(Object sourceValue, String targetField) ๋ฐ์ดํฐ์์ค ๊ฐ์ Lookup ๋๋ Line-Item ํ๋์ ํ ๋นํฉ๋๋ค.
๋งคํ์ด ์๋ฃ๋ Action์ ๋ฆฌํด ๊ฐ์ ์ถ๊ฐํ๋ ์์ ์ ๋๋ค.
addAction(SBLD.DataSourceServiceAction action) SBLD.DataSourceService.Result ์ธ์คํด์ค์ Action์ ์ถ๊ฐํฉ๋๋ค.
Salesforce ์ธ๋ถ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ์ฌ ํจ๊ป ํํํ๊ณ ์ ํ ๋ ๊ณ ๊ธ ๋ฐ์ดํฐ ์์ค๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์์ฑํ Apex Class ๋๋ ํ๋ก๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์, ๋ด๋ถ ๋ฐ์ดํฐ ์์ค์ ๋นํด ๋ ์ ์ฐํ๊ณ ๋ค์ํ ๋ฐ์ดํฐ ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด Salesforce ๋ด๋ถ ๋ฐ์ดํฐ์ ์ธ๋ถ ์์คํ ์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ์ฌ LIst View์์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ด๋ ๋ฐ์ดํฐ ๋ณํ๋ ๊ตฌํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ธ๋ถ ์๋ฒ์์ ์ค์๊ฐ ์ฌ๊ณ ๋ฅผ ๊ฐ์ ธ์ ํ๋ฉด์ ๊ฐ์ด ํ์ํ๊ณ ์ถ์ ๋, Apex Class์์ Rest API ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๊ณ ๊ธ ๋ฐ์ดํฐ ์์ค์ ์ง์ ํ๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ List View์ ํํํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์์ค๋ ๋ค์ค์ผ๋ก ๊ตฌ์ฑ ๋ฐ ์ค์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
Key
๋ฐ์ดํฐ ์์ค์ ๋ฆฌ์คํธ ๋ ์ฝ๋ ๊ฐ ๊ณตํต๋ ๊ฐ์ผ๋ก์ ๋ฐ์ดํฐ ์์ค์์ ๊ฐ์ ธ์จ ์ ๋ณด๋ฅผ ๋ฆฌ์คํธ์ ํตํฉํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Apex Class ๊ณ ๊ธ ๋ฐ์ดํฐ ์์ค ์ค์
Apex Class๋ฅผ ์ฌ์ฉํ๋ ๊ณ ๊ธ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ค์ ํ๋ ค๋ฉด Apex Class๋ฅผ ๋จผ์ ์์ฑํด์ผ ํฉ๋๋ค. SmallBuilder Lists ํจํค์ง์์ ์ ๊ณตํ๋ SBLD.DataSourceService.Fetchable
์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ ค๋ Apex Class์ implements
ํ์ฌ ๊ตฌํํฉ๋๋ค.
Apex Class ์์ฑํ๊ธฐ >
2. ๋ฐ์ดํฐ ์์ค ๋์ Apex Class๋ฅผ ๊ฒ์ ํ ์ ํํฉ๋๋ค.
3. ํ์ฑํ ์ฌ๋ถ, ์ค๋ช (Description), Key ํ๋(Key Field), ํ๋ผ๋ฏธํฐ(Parameters)๋ฅผ ์ค์ ํฉ๋๋ค.
2. ๋ฐ์ดํฐ ์์ค ๋์ ํ๋ก๋ฅผ ๊ฒ์ ํ ์ ํํฉ๋๋ค.
3. ํ์ฑํ ์ฌ๋ถ, ์ค๋ช (Description), Key ํ๋(Key Field), ํ๋ผ๋ฏธํฐ(Parameters)๋ฅผ ์ค์ ํฉ๋๋ค.
1. ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๋ฒํธ | ํ๋๋ช ๋ฐ ์์ญ | ์ค๋ช | ํ์ |
---|---|---|---|
1. ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๋ฒํธ | ํ๋๋ช ๋ฐ ์์ญ | ์ค๋ช | ํ์ |
---|---|---|---|
1
ํ์ฑํ
๋ฐ์ดํฐ ์์ค๋ฅผ ํ์ฑํํฉ๋๋ค. ํ์ฑํ๊ฐ ๋์ด ์์ง ์์ผ๋ฉด ๋ฆฌ์คํธ ๊ตฌ์ฑ ์ ์๋๋์ง ์์ต๋๋ค.
2
์ค๋ช (Description)
๋ฐ์ดํฐ ์์ค์ ๋ํ ์ค๋ช ์ ๊ธฐ์ ํฉ๋๋ค.
3
Key ํ๋ (Key Field)
Apex Class์ ์ค์ ๋ key ๊ฐ๊ณผ ๊ณตํต๋ ๊ฐ์ ๊ฐ์ง ๋ฆฌ์คํธ ์ง์ ๊ฐ์ฒด์ ํ๋๋ฅผ ์ค์ ํฉ๋๋ค.
โ๏ธ
4
ํ๋ผ๋ฏธํฐ (Parameters)
Apex Class์์ ๋ฆฌ์คํธ ์ง์ ๊ฐ์ฒด์ ํ๋ ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ, ํด๋น ํ๋๋ฅผ ์ ํํ์ฌ Apex Class๋ก ์ ๋ฌํฉ๋๋ค.
โ๏ธ
1
ํ์ฑํ
๋ฐ์ดํฐ์์ค๋ฅผ ํ์ฑํํฉ๋๋ค. ํ์ฑํ๊ฐ ๋์ด ์์ง ์์ผ๋ฉด ๋ฆฌ์คํธ ๊ตฌ์ฑ ์ ์๋๋์ง ์์ต๋๋ค.
2
์ค๋ช (Description)
๋ฐ์ดํฐ ์์ค์ ๋ํ ์ค๋ช ์ ๊ธฐ์ ํฉ๋๋ค.
3
์ ๋ ฅ ๋ณ์ (Input Variable)
โ๏ธ
4
์ถ๋ ฅ ๋ณ์ (Output Variable)
โ๏ธ
5
Key ํ๋ (Key Field)
์ถ๋ ฅ ๋ณ์์ ํ๋์ ๊ณตํต๋ ๊ฐ์ ๊ฐ์ง ๋ฆฌ์คํธ ์ง์ ๊ฐ์ฒด์ ํ๋๋ฅผ ์ค์ ํฉ๋๋ค.
โ๏ธ
ํ๋ก๋ก ์ง์ ๋ ๊ฒฝ์ฐ ํ๋ก์ ์ ๋ฌํ ํ๋ผ๋ฏธํฐ ๋ณ์๋ฅผ ์ ํํฉ๋๋ค. ํ๋ผ๋ฏธํฐ๊ฐ ํ์ ์๋ ๊ฒฝ์ฐ ์ ํํ์ง ์์ต๋๋ค. ๐ก ์ต์ ์์ ๋ณด์ฌ์ง๋ ๊ฐ๋ค์ ์ง์ ๋ ํ๋ก์ ์๋ ๋ฆฌ์์ค(Available for input)์ ๋๋ค.
ํ๋ก ๊ฒฐ๊ณผ ๊ฐ์ ๊ฐ์ ธ์ฌ ๋ณ์๋ฅผ ์ ํํฉ๋๋ค. ๐ก ์ต์ ์์ ๋ณด์ฌ์ง๋ ๊ฐ๋ค์ ์ง์ ๋ ํ๋ก์ ์๋ ๋ฆฌ์์ค(Available for output)์ ๋๋ค.