λΆλͺ¨ κ°μ²΄μμ μμνμ¬ νμ κ°μ²΄μΈ λΌμΈ μμ΄ν μ μ ννκ³ , λΌμΈ μμ΄ν μ΄ μ°Έμ‘°νκ³ μλ μ‘°ν κ°μ²΄λ₯Ό μ€μ ν©λλ€. μ‘°ν κ°μ²΄λ₯Ό μ§μ ν λλ, λΌμΈ μμ΄ν μμ μ‘°ν κ°μ²΄λ₯Ό μ°Έμ‘°νλ νλλ₯Ό μ νν΄μΌ ν©λλ€.
κΈ°ν(Opportunity)μ λν κΈ°ν μ ν(OpportunityLineItem)μ κΈ°λ°μΌλ‘ λΉλλ₯Ό μ€μ νλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. μλ κ°μ²΄ ꡬ쑰 μ΄λ―Έμ§μ κ°μ΄ κΈ°ν μ νμ λ κ°μ§ μ£Όμ κ΄κ³λ₯Ό κ°μ§λλ€:
κΈ°ν(Opportunity)
κΈ°ν μ νμ μμ κ°μ²΄λ‘ κΈ°ν ID(OpportunityId) νλλ‘ μ°Έμ‘°λ©λλ€.
κ°κ²© λͺ©λ‘ νλͺ©(PricebookEntry)
κΈ°ν μ νμ΄ μ°Έμ‘°νκ³ μλ κ°μ²΄λ‘ κ°κ²© λͺ©λ‘ νλͺ© ID(PricebookEntryId) νλλ‘ μ°Έμ‘°λ©λλ€.
λΆλͺ¨ κ°μ²΄λ κΈ°ν(Opportunity)λ‘ μ νν©λλ€.
λΌμΈ μμ΄ν
κ°μ²΄λ κΈ°ν μ ν(OpportunityLineItem)μΌλ‘ μ νν©λλ€.
κΈ°ν μ ν(OpportunityLineItem)μ κ°κ²© λͺ©λ‘ νλͺ©(PricebookEntry)μ μ°Έμ‘°νμ¬ μμ±λκΈ° λλ¬Έμ, μ‘°ν μ°Έμ‘° νλλ‘ κΈ°ν μ νμ κ°κ²© λͺ©λ‘ νλͺ© ID(PricebookEntryId) νλλ₯Ό μ νν΄μΌ ν©λλ€.
μ‘°ν κ°μ²΄λ λΌμΈ μμ΄ν κ°μ²΄μμ μ°Έμ‘°νλ κ°μ²΄λ‘, μ¬μ©μλ μ‘°ν λ μ½λλ₯Ό μ ννμ¬ μ΄λ₯Ό κΈ°λ°μΌλ‘ λΌμΈ μμ΄ν λ μ½λλ₯Ό μμ±ν©λλ€.
1
λΌμΈ μμ΄ν κ°μ²΄μμ μ‘°ν κ°μ²΄λ₯Ό μ°Έμ‘°νλ νλλ₯Ό μ€μ ν©λλ€.
2
μ‘°ν λ μ½λλ₯Ό κ²μν λ, μ΄λ€ νλκ°μ κΈ°μ€μΌλ‘ κ²μν μ§λ₯Ό μ€μ ν μ μμ΅λλ€. κΈ°λ³Έμ μΌλ‘ μ‘°ν κ°μ²΄μ Name νλκ° κ²μ κΈ°μ€μΌλ‘ μ€μ λ©λλ€.
3
λΌμΈ μμ΄ν νΈμ§κΈ°μμ μ‘°ν μ νκΈ°λ₯Ό μ¬μ©νμ§ μκ³ , λΌμΈ μμ΄ν νΈμ§λ§ μνλ κ²½μ°, μ‘°ν μ νκΈ°λ₯Ό μ°¨λ¨νλλ‘ μ€μ ν μ μμ΅λλ€. λν, 쑰건μ λ°λΌ μ‘°ν μ νκΈ°λ₯Ό μ°¨λ¨νκ±°λ νμ±νν μλ μμ΅λλ€.
4
μ‘°ν μ νκΈ° νλ©΄μ΄ λ‘λλ λ 쑰건μ λ§λ μ‘°ν κ°μ²΄μ λ μ½λλ₯Ό λΆλ¬μ€λ €λ©΄ νν°λ₯Ό μ€μ νκ³ , μνλ λ μ½λ μμλ₯Ό μ§μ νλ €λ©΄ μ λ ¬μ μ€μ νμΈμ.
μ‘°ν μ νκΈ° λ‘λ μ μνλ 쑰건μ λ§λ λ°μ΄ν°λ§ μ‘°νλ©λλ€. νν° μ€μ λ°©μμ SOQLμ WHEREμ κ³Ό λμΌν©λλ€.
μλ₯Ό λ€μ΄, νμ±νλ κ°κ²© λͺ©λ‘ νλͺ©λ§ μ‘°ννλ €λ©΄ IsActive = trueλ‘ μμ±νλ©΄ λ©λλ€. λν, μ§μ μμ±νμ§ μκ³ λ₯Ό μ΄μ©ν΄ νν°λ₯Ό μλμΌλ‘ μμ±ν μλ μμ΅λλ€.




νν°λ₯Ό μ¬μ©νμ¬ νμν λ°μ΄ν°λ§ μ‘°ννκ³ , μ‘°νλ λ°μ΄ν°μ λν΄ μνλ μ λ ¬ μμλ₯Ό μ€μ ν μ μμ΅λλ€.

μ‘°ν μ νκΈ° λ‘λ μ λ°μ΄ν°κ° μνλ μμλ‘ μ λ ¬λλλ‘ λ―Έλ¦¬ μ μν μ μμ΅λλ€. μ λ ¬ μ€μ λ°©μμ SOQLμ ORDER BYμ κ³Ό λμΌν©λλ€.
μλ₯Ό λ€μ΄, κ°κ²© λͺ©λ‘ νλͺ©μ μ΄λ¦μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬νκ³ μΆλ€λ©΄ Name ASCλ‘ μμ±νλ©΄ λ©λλ€.


μ‘°ν μ νκΈ°λ₯Ό 건λλ°κ³ λ°λ‘ λΌμΈ μμ΄ν νΈμ§κΈ°λ‘ μ ννκ³ μΆμ κ²½μ°, μ‘°ν μ νκΈ° μ°¨λ¨ κΈ°λ₯μ νμ±ννμΈμ. λν, νΉμ 쑰건μ λ°λΌ μ‘°ν μ νκΈ°λ₯Ό μ°¨λ¨ν μλ μμ΅λλ€.
μ°¨λ¨ μ‘°κ±΄μ μ€μ νλ €λ κ²½μ°, λΆλͺ¨ κ°μ²΄μ νΉμ νλλ₯Ό κΈ°λ°μΌλ‘ μ μ΄λ©λλ€. ν΄λΉ νλλ Boolean μ νμ΄μ΄μΌ νλ©°, κ°μ΄ trueμΈ κ²½μ° μ‘°ν μ νκΈ°κ° μ°¨λ¨λ©λλ€.
λΌμΈ μμ΄ν
νΈμ§κΈ°μμ κ°±μ λ κΈ°νμΈ κ²½μ° μ ν μΆκ°(λΌμΈ μμ΄ν
μΆκ°)λ₯Ό μ°¨λ¨νλ €κ³ ν©λλ€. μμμμλ κΈ°νμ κ°±μ λ¨(IsRenewal__c) νλλ₯Ό μ¬μ©νμ¬ μ°¨λ¨ μ‘°κ±΄μ μ€μ ν©λλ€.
κ°±μ λ¨(IsRenewal__c)μ΄ trueμΌ λ νΈμ§κΈ°μμ μ‘°ν μ νκΈ° νλ©΄μΌλ‘ μ ννλ λ²νΌμ΄ νμλμ§ μλ κ²μ νμΈν μ μμ΅λλ€.



μ‘°ν λ μ½λλ₯Ό κ²μν λ κ²μν ν€μλμ λμ νλκ°μ μ€μ ν©λλ€. κΈ°λ³Έμ μΌλ‘ μ΄λ¦ νλκ° κ²μ λμμΌλ‘ μ§μ λλ©°, μΌμΉ 쑰건μ ν¬ν¨(Contains)μ λλ€.
ν€μλ κ²μ νλλ κ°κ²© λͺ©λ‘ νλͺ©(PricebookEntry) κ°μ²΄μ μ ν μ΄λ¦(Name) νλλ‘ μ€μ λμ΄ μμ΅λλ€. κ²μ 쑰건μ ν¬ν¨(Contains)μ΄λ©°, μ
λ ₯ν κ²μ ν€μλκ° μ ν μ΄λ¦ νλ κ°μ ν¬ν¨λ κ²½μ° μ‘°νλ©λλ€.
νΈμ§κΈ°μμ μ‘°ν μ νκΈ° νλ©΄μ βGenβμ μ λ ₯νλ©΄, μ ν μ΄λ¦μ βGenβμ΄ ν¬ν¨λ νλͺ©λ§ κ²μλλ κ²μ νμΈν μ μμ΅λλ€.

